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

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

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

kubernetes生产环境高可用部署(4)_第1张图片

安装:
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)_第2张图片

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

然后启动就行了
systemctl restart keepalived
kubernetes生产环境高可用部署(4)_第5张图片

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

接下来安装haproxy所有master节点

yum install haproxy -y

kubernetes生产环境高可用部署(4)_第6张图片

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

然后启动就行

systemctl start haproxy

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

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

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

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

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

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

kubernetes生产环境高可用部署(4)_第10张图片

kubernetes生产环境高可用部署(4)_第11张图片

接下来另外2个master加入集群
kubernetes生产环境高可用部署(4)_第12张图片
kubernetes生产环境高可用部署(4)_第13张图片

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

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

kubernetes生产环境高可用部署(4)_第16张图片
好了加入完成看一下
kubernetes生产环境高可用部署(4)_第17张图片

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

访问一下
kubernetes生产环境高可用部署(4)_第19张图片

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

kubernetes生产环境高可用部署(4)_第20张图片
kubernetes生产环境高可用部署(4)_第21张图片
ip地址已经飘过来了

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