搭建的是 k8s 高可用集群,用了 3 台 master 节点,2 台 master 节点宕机后,仅剩的 1 台无法正常工作. 运行 kubectl get nodes 命令出现下面的错误 The connection to the server k8s-api:6443 was refused - did you specify the right host or port? 注:k8s-api 对应的就是这台 master 服务器的本机 IP 地址. 运行 netstat -lntp 命令发…
这个问题,困绕了团队一段时间, 因为暂时没有用到master的外网网络, 没有引起重视,但总归要解决. 上周五,刚好有点小空,就深入调查了一下. 最后,定位到了问题点:k8s master节点的flannel, 网络连接比node节点要多一个数量及, 消耗的内存比普通节点要高, 当超过flannel yaml文件中定位的资源配额时, 就有可能发生重启. 之前的限额cpu和内存为100m, 50Mi. 改成如下之后,搞定问题.当然,还要持续观察. "resources": { "…
前言 本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备.本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜像拉取问题)还提供了多种解决方案.不过基于部署环境和k8s的复杂性,我们需要对k8s集群部署过程中的一些步骤都有所了解,尤其是“kubeadm init”命令. 目录 主节点部署  Kubeadm以及相关工具包的安装 批量拉取k8s相关镜像 使用“kubeadm init”启动k8s主节点 启动k8s主节点 kubectl认证 安装f…
K8S集群Master高可用实践    https://blog.51cto.com/ylw6006/2164981 本文将在前文基础上介绍k8s集群的高可用实践,一般来讲,k8s集群高可用主要包含以下几个内容:1.etcd集群高可用2.集群dns服务高可用3.kube-apiserver.kube-controller-manager.kube-scheduler等master组件的高可用 其中etcd实现的办法较为容易,具体实现办法可参考前文:https://blog.51cto.com/y…
节点为centos7.4 一.node节点基本环境配置 1.配置主机名 2.配置hosts文件(master和node相互解析) 3.时间同步 ntpdate pool.ntp.org date echo '*/10 * * * * /usr/sbin/ntpdate pool.ntp.org' >>/var/spool/cron/root crontab -l 4.关闭防火墙和selinux systemctl stop firewalld systemctl disable firewal…
ES集群的主节点发现机制采用单播形式,主要配置有三行,如下: discovery.zen.minimum_master_nodes: discovery.zen.ping.multicast.enabled: false discovery.zen.ping.unicast.hosts: ["localhost:9001","localhost:9101","localhost:9701"] 第一行的配置说明如下: # Discovery inf…
若要转载本文,请务必声明出处:https://www.cnblogs.com/zhongyuanzhao000/p/11401031.html 问题: 集群搭建的过程中,master节点初始化成功,但 node节点加入集群时却一直显示NotReady状态,如下: 使用kubeclt describe node xxxx 命令,发现报错: KubeletNotReady runtime network not ready: NetworkReady=false reason:NetworkPlug…
在公司,使用dns切换,可能会比keepalived+haproxy,更精简的易维护. 毕竟,高可用只是偶尔切换,不是时时切换. 且dns解析在自己可控时,更不会影响k8s线上使用了. (部分代码,由于担心太冗长,已使用xxx代替,这些xxx完全可以自己生成的) 使用步骤如下: 先在每个master上安装etcd,运行如下命令: sh k8s.sh k8s.xxx.com.cn etcd 等每个master上的etcd安装好之后,运行如下命令: sh k8s.sh k8s.xxx.com.cn…
etcd集群部署 ,创建etcd可执行文件,配置文件,证书文件存放目录 mkdir /opt/etcd/{bin,cfg,ssl} -p ,创建包文件存放目录 mkdir /soft -p ,解压etcd包.并将可执行文件移动到/opt/etcd/bin tar zxvf etcd-v3.2.12-linux-amd64.tar.gz mv etcd-v3.2.12-linux-amd64/{etcd,etcdctl} /opt/etcd/bin/ ,etcd配置文件 $ cat etcd #[…
在master 执行1, 不可调度 kubectl cordon k8s-node- kubectl uncordon k8s-node- #取消 2,驱逐已经运行的业务容器 kubectl drain --ignore-daemonsets --delete-local-data k8s-node- 3,如果想删除node 节点,则进行这个步骤 kubectl delete node k8s-node-…