![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
k8s
文章平均质量分 72
wangmiaoyan
这个作者很懒,什么都没留下…
展开
-
查看kafka的topic清单以及topic的内容
对于云端服务器上运行着的kafka集群,由于没有开放相关的端口,之前查看都是使用端口转发,ssh练上去之后,使用端口转发,转发到本地查看。使用kafka时发现,zk连接上之后,里面的Brokers其实是云端服务器的内网,但是kafka tools会直接认为那些ip是本地ip,就会看不到kafka里面的内容。试来试去,没找到合适的方法解决。如果有谁知道怎么弄,还请告诉我一声,非常感谢~回到标题:先进入容器,然后执行相关命令查看查看kafka中topic清单:kafka-topics.sh --l原创 2020-11-12 16:54:09 · 18343 阅读 · 0 评论 -
K8S-安装使用alertmanager进行邮件报警
前一篇已经部署好prometheus及grafana,这一篇实践使用alertmanager进行邮件报警。prometheus收集指标,然后根据规则发送警报给到alertmanager,alertmanager收到警报后,根据通知规则发送通知(短信,邮箱等)。部署alertmanager主要步骤如下(1)、部署alertmanager(2)、配置alertmanager与prometheus通信(3)、配置告警规则(1)部署alertmanager1、新建alertmanager-cfg.y原创 2020-09-18 16:23:25 · 2395 阅读 · 0 评论 -
k8s-部署metrics-server + Prometheus
部署metrics-server+prometheus+grafana原创 2020-09-17 14:47:21 · 25546 阅读 · 2 评论 -
master资源不足导致pods被驱逐-The node had condition: [DiskPressure].
此文主要内容为新建一个盘,创建软链接,查找大文件,批量删除驱逐状态的pod原创 2020-08-19 20:14:32 · 12357 阅读 · 0 评论 -
K8S高可用master集群 移除一台master重新加入集群
主因:因为维护服务器,有台机器被关掉很久,再次开启之后,查看,发现etcd和api-server都起不来。查看etcd集群状态,发现有个节点连不上。[root@master prometheus]# kubectl exec -it etcd-master2 -n kube-system bin/sh# /usr/local/bin/etcdctl --ca-file=/etc/kubernetes/pki/etcd/ca.crt --cert-file=/etc/kubernetes/pki/etc原创 2020-08-05 16:22:55 · 2420 阅读 · 0 评论 -
k8s 用kubeadm 实现高可用,keepalived+haproxy实现apiserver负载均衡
使用版本:1.16.2官方文档:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/先为apiserver做一个负载均衡器,这里使用keepalived+haproxy,架构图如下。每个master节点上运行一个apiserver和etcd,每个节点的etcd只与本节点的apiserver通信。集群资源3个master,4个node,vip为172.31.17.49,注意vip原创 2020-06-20 19:24:17 · 3299 阅读 · 0 评论 -
如何让pods运行在master上
master是设置了污点的,默认情况下pods是无法运行再master上的,那么如何让pods运行在master上呢?两种方法:1、去除master的污点(不建议使用)2、让pod能容忍这个污点这里我用的是第二种,先查看master的污点,在将pod设置为能容忍这个污点1、查看污点[root@master pos]# kubectl describe node masterName: masterRoles: masterLabels:原创 2020-06-08 17:47:53 · 2020 阅读 · 0 评论 -
kubeadm 部署V1.16.2版本的K8S
预计master及节点的IP如下所示172.31.17.51 master172.31.17.52 node1172.31.17.53 node2172.31.17.120 node3172.31.17.79 node4172.31.17.54 vol一:准备环境在所有节点上的操作1、设置主机名,将主节点设置为master,其他节点将master换为其他名即可,例如node1,node2#设置主机名hostnamectl set-hostname master#查看主机名hos原创 2020-05-28 11:59:43 · 500 阅读 · 0 评论 -
制作redis集群工具redis-tools
1、启动一个ubuntu容器kubectl run -it ubuntu --image=ubuntu --restart=Never /bin/bash2、进入容器,修改源cat > /etc/apt/sources.list << EOFdeb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu原创 2020-05-19 10:37:58 · 743 阅读 · 0 评论 -
K8S搭建redis集群(2)使用redis-trib
1、搭建自动创建pv的storageClass,K8S 自动按需自动创建nfs存储卷(pv)查看创建的storageClass[root@master imooc-redis-test]# kubectl get storageclassNAME PROVISIONER AGEnfs-storage fuseim.pri/ifs 4d16h2、查看configmap,命名为redis-conf#1.创建redis.conf文件[root@master i原创 2020-05-18 17:51:40 · 2142 阅读 · 5 评论 -
pod一直处于ContainerCreating,查看报错信息为挂载错误MountVolume.SetUp failed for volume
背景,在搭建redis集群时,使用的是nfs挂载卷,中途我好像把挂载盘的文件移走了,当我再次启动pod时就出现挂载错误。[root@master redis-cluster-sts]# kubectl apply -f redis-sts.ymlconfigmap/redis-cluster createdstatefulset.apps/redis-cluster created[root@master redis-cluster-sts]# kubectl get podsNAME原创 2020-05-15 11:11:29 · 23681 阅读 · 0 评论 -
K8S搭建redis集群
此为Sunny 王苗苗同学的学习笔记,持续学习,持续分享,持续进步,向着大神之路前进~之前看过挺多教程的,但是没能找到成功搭建,总有这样那样的问题,最终找到一个然后自己动手做一部分,搭建成功,开心~1、拿了他人项目,使用的statefulSet,redis的pod运行起来了,但是查看集群的时候发现是不成功的2、再此基础上,自己做一个tools镜像,然后初始化集群,查看集群状态为ok3、测试主从切换,发现也ok~1、创建服务redis-headless-service.yaml---api.原创 2020-05-14 17:48:24 · 1337 阅读 · 2 评论 -
K8S 自动按需自动创建nfs存储卷(pv)
1、nfs-deployment.yaml在vol这台机上共享/share/nfs目录 参考文章:k8s使用nfs挂载存储卷kind: DeploymentapiVersion: apps/v1metadata: name: nfs-client-provisioner namespace: defaultspec: replicas: 1 strategy: type: Recreate selector: matchLabels:原创 2020-05-14 15:51:05 · 1662 阅读 · 2 评论 -
redis 报错Redis is configured to save RDB snapshots, but it is currently not able to persist on disk.
"detail": "ERR Error running script (call to f_8919eb76e65d79f3402d25a746d81a6ef0a57704): @user_script:1: @user_script: 1: -MISCONF Redis is configured to save RDB snapshots, but it is currently not ...原创 2020-02-11 18:02:51 · 380 阅读 · 0 评论 -
k8s namespace 一直处于Terminating
问题,namespace一直处于Terminating状态,无法删除[root@master pos]# kubectl get nsNAME STATUS AGEbcia Active 42ddata Active 42ddefault Activ...原创 2020-02-11 15:59:37 · 6552 阅读 · 1 评论 -
批量push正在运行的pos的镜像
docker ps | grep bcia/pos | awk '{print $2}' | xargs -t -I {} docker push {}xargs指-I {} 指一行一行传入-t指执行前先打印[root@bcia-ms ~]# docker ps | grep bcia/pos7ced8c34cb55 repo.ttooc.xyz/bcia/pos/a...原创 2020-02-11 15:43:02 · 748 阅读 · 0 评论 -
k8s搭建kafka集群
1、创建namespace2、创建动态持久化存储卷3、创建zk集群4、创建kafka集群1、创建namespaceapiVersion: v1kind: Namespacemetadata: name: kafka2、创建动态持久化存储卷先需要搭建nfs环境,教程:https://blog.csdn.net/wangmiaoyan/article/details/1028...原创 2020-01-02 13:21:07 · 4123 阅读 · 5 评论 -
K8S向pod里的/etc/hosts添加条目
官方文档地址:https://kubernetes.io/zh/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/示例,想要pod将bridge4sms解析到对应的ipapiVersion: apps/v1kind: Deploymentmetadata: labels:...原创 2019-12-31 12:09:30 · 4456 阅读 · 0 评论 -
k8s部署单个redis
apiVersion: apps/v1kind: Deploymentmetadata: labels: app: bcia ms-name: redis name: bcia-redis namespace: bciaspec: replicas: 1 selector: matchLabels: app: bcia ms...原创 2019-12-24 02:46:56 · 3189 阅读 · 0 评论 -
k8s 及 docker 修改mariadb的最大连接数
docker官方镜像说明:https://hub.docker.com/_/mariadb启动配置是在文件/etc/mysql/my.cnf中指定的,该文件依次包含在/etc/mysql/conf.d目录中以.cnf结尾的所有文件。此目录中文件中的设置将增加和/或覆盖/etc/mysql/my.cnf中的设置。如果要使用自定义的MySQL配置,可以在主机上的目录中创建替代配置文件,然后将该目录...原创 2019-12-24 02:40:44 · 1757 阅读 · 0 评论 -
vm能访问外网某个地址,而pod容器里面无法访问,原因是设置了只能使用vm的IP出去,而pods去请求时使用的是pods的ip,是会被挡下的
防火墙设置了某些ip才能出去,pod的IP不在此范围,只有其中一台VM可以出去,于是装个插件,做ip代理官网链接:https://kubernetes.io/docs/tasks/administer-cluster/ip-masq-agent/装上,然后让需要访问外网的服务运行在能访问外网的那个节点上,成功。...原创 2019-12-23 13:12:40 · 695 阅读 · 0 评论 -
节点kubeadm join 时发现kubelet启动失败,no route to host 清除iptables规则,关闭防火墙即可
kubeadm join 10.40.19.85:6443 --token 8g02qu.h37najizohm2hi5s --discovery-token-ca-cert-hash sha256:22a48d5cd38c60e4103c1a449dd684247186fba4d4b939f0332eebf31b441952[preflight] Running pre-flight...原创 2019-12-13 09:47:59 · 3920 阅读 · 1 评论 -
匿名用户被禁止访问configmaps is forbidden: User "system:anonymous" cannot list resource "configmaps" in API g
configmaps is forbidden: User “system:anonymous” cannot list resource “configmaps” in API group “” in the namespace “default”给匿名用户授权即可解决,测试环境可用此快速解决kubectl create clusterrolebinding test:anonymous ...原创 2019-11-26 12:30:13 · 14797 阅读 · 6 评论 -
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock一开始是报这个错Cannot autolaunch D-Bus without X11 $DISPLAY然后我找了个教程说是docker-compose有问题,然后我就把它卸了,然后就一直运行不起来了执行了这个sudo apt-get aut...原创 2019-11-21 23:02:36 · 516 阅读 · 0 评论 -
k8s使用私有仓库
创建secret,然后写yaml的时候配置下载镜像时使用这个secret即可1、创建secret当pod从私用仓库拉取镜像时,k8s集群使用类型为docker-registry的Secret来提供身份认证//创建secret ,并生成yaml文件 xxxx替换为你的用户名密码[root@crl-master pos]# kubectl create secret docker-regist...原创 2019-11-13 20:00:27 · 2904 阅读 · 0 评论 -
K8S 资源指标监控-部署metrics-server
K8S新的资源指标获取工具:metrics-server自定义指标的监控工具:prometheus,k8s-prometheus-adapterK8S新一代架构核心指标流水线:由kubelet、metrics-server以及由API server提供的api组成;CPU累积使用率、内存的实时使用率、pod的资源占用率及容器的磁盘占用率;监控流水线:用于从系统收集各种指标数据并提供给终端用...原创 2019-11-06 15:26:28 · 24387 阅读 · 6 评论 -
k8spods中运行了两个容器,如何查看单个容器日志
加上-c 容器名称,就可以查看单个容器的日志kubectl logs [pod名称] -c [想要查看的container名称] -n [名称空间]原创 2019-11-05 11:15:49 · 4780 阅读 · 4 评论 -
k8s镜像拉不下来的解决办法
换仓库//k8s.gcr.io下载不到该镜像[root@node2 ~]# docker pull k8s.gcr.io/metrics-server-amd64:v0.3.3Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connecti...原创 2019-11-04 18:50:47 · 4076 阅读 · 0 评论 -
HeapSter(k8s1.12版本已弃用)-influxdb+heapster+grafana
kubelet能获取当前系统上收集管理的pos资源对象kubelet中有个插件cAdvisor,专门负责收集当前节点上 各pod 各容器以及当前节点在节点级的各种系统级资源指标占用量,例如节点级的CPU、内存和pods级的CPU、内存用量。cAdvisor只能收集单个节点的,另一个插件HeapSter则是负责收集每个节点中cAdvisor收集的数据。HeapSter数据存在缓存中,内存有限,只...原创 2019-11-02 09:22:58 · 757 阅读 · 0 评论 -
k8s使用nfs挂载存储卷
1、先安装相关的包,所有机器都要安装,包括vol的主机,以及要使用nfs的机器yum -y install nfs-utils(主包提供文件系统) yum -y install rpcbind(提供rpc协议)2、编辑 /etc/exports3、创建相关的文件目录mkdir -p /data/redis/pv{1…6}4、修改文件目录权限chmod 777 /data/redis/...原创 2019-10-31 16:34:52 · 4181 阅读 · 0 评论 -
K8S创建角色,并授权
K8S的认证授权是基于插件的,目前用得最多的是RBAC,也就是基于角色的访问控制k8s中有角色和角色绑定,因为K8S有两种资源,一种是集群资源,也就是cluster;一种是namespace资源;所以分别有role,rolebinding,clusterrole,clusterrolebinding.他们的区别在于作用域不同,cluster是针对整个集群资源的,而role则是限制在nam...原创 2019-10-14 17:14:27 · 6348 阅读 · 0 评论 -
K8S-给集群创建一个用户,自定义证书访问apiserver
首先查看apiserver的证书文件,默认的路径是/etc/kubernetes/pki[root@master ~]# cd /etc/kubernetes/pki/[root@master pki]# lsapiserver.crt etcdapiserver-etcd-client.crt front-proxy-ca.crtapiserve...原创 2019-10-14 16:22:43 · 1506 阅读 · 0 评论 -
部署好dashboard后访问http://172.31.17.51:30001/,页面出现一段乱码似的东西
如图:原因是应该使用https协议;直接输入地址使用的是http把地址改为https://172.31.17.51:30001即可原创 2019-10-11 12:26:34 · 837 阅读 · 0 评论 -
kubeadm join时报错Unauthorized
如图:[root@node1 ~]# kubeadm join 172.31.17.51:6443 --token le4vib.zn8g056y1spx24a1 --discovery-token-ca-cert-hash sha256:808ab5fc7df90edd907c53d21969b8d9ef43eab43599711c453762570440b98a[preflig...原创 2019-10-11 12:22:00 · 1432 阅读 · 0 评论