k8s作为当前企业的容器编排工具,生产环境已经非常多的使用了,所以一定要保证集群的高可用,k8s其实最重要的是api-server组件,这是整个集群的唯一入口,所以一定要保证整个集群的正常运行。

这里使用kubeadmin部署,在1.13版本之后kubeadmin可以使用在生产环境,,所以这里使用1.15版本部署,当然二进制部署也是可以的。看自己的喜好。

基础环境配置,防火墙,selinux这些,yum源都不配置了哈,参考之前的文档。

kubernetes生产环境高可用部署(4)

安装:
yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0

systemctl enable kubelet

所有master上面执行

node安装yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
systemctl enable kubelet
完成之后下载镜像

kubeadm config images list 查看需要的镜像有哪些

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.15.10
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.15.10
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.15.10
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.15.10
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.3.10
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.3.1

这里使用的 是阿里云镜像哈

所有的配置我都放到了百度网盘
链接:https://pan.baidu.com/s/167-yXwqK28gXDUBw3E0BxA
提取码:mlr7

安装 keepalived

所有master
yum install keepalived -y

完成之后修改配置

这里以master1举例

kubernetes生产环境高可用部署(4)

这些地方都是注意的,priority 这个权重另外2个机器是90 和70 ,其他的都不变就行
kubernetes生产环境高可用部署(4)
kubernetes生产环境高可用部署(4)

然后启动就行了
systemctl restart keepalived
kubernetes生产环境高可用部署(4)

自己可以测试关闭,看看vip是否会漂移,我这里是可以的

接下来安装haproxy所有master节点

yum install haproxy -y

kubernetes生产环境高可用部署(4)

三个机器的都是一样的,直接拷贝过去就行不用修改

然后启动就行

systemctl start haproxy

kubernetes生产环境高可用部署(4)

编写 kubeadm 配置文件
在一个master上面就行

kubernetes生产环境高可用部署(4)
其中podSubnet是最重要的,不然后面flannel启动不了一定要添加

接下来启动
kubeadm init --config=kubeadm-init.yaml --experimental-upload-certs
kubernetes生产环境高可用部署(4)
kubernetes生产环境高可用部署(4)

上面是master使用,下面是ndoe使用

然后查看状态安装网络插件flannel

kubernetes生产环境高可用部署(4)

kubernetes生产环境高可用部署(4)

接下来另外2个master加入集群
kubernetes生产环境高可用部署(4)
kubernetes生产环境高可用部署(4)

完成之后都要执行
kubernetes生产环境高可用部署(4)
查看一下效果在另外的一个master上面

kubernetes生产环境高可用部署(4)
所有的都启动了接下来开始加入node节点

kubernetes生产环境高可用部署(4)
好了加入完成看一下
kubernetes生产环境高可用部署(4)

随便找个master启动一个容器测试一下‘’
kubernetes生产环境高可用部署(4)
在拉nginx镜像,稍等会
验证一下效果
kubernetes生产环境高可用部署(4)

访问一下
kubernetes生产环境高可用部署(4)

现在vip在master1上面,接下来模拟故障,看看vip是否会漂移,集群会不会不能用

kubernetes生产环境高可用部署(4)
kubernetes生产环境高可用部署(4)
ip地址已经飘过来了

kubernetes生产环境高可用部署(4)
等恢复之后在加入集群就好了
kubernetes生产环境高可用部署(4)
高可用部署就到这里,有什么问题欢迎留言私信