k8s作为当前企业的容器编排工具,生产环境已经非常多的使用了,所以一定要保证集群的高可用,k8s其实最重要的是api-server组件,这是整个集群的唯一入口,所以一定要保证整个集群的正常运行。
这里使用kubeadmin部署,在1.13版本之后kubeadmin可以使用在生产环境,,所以这里使用1.15版本部署,当然二进制部署也是可以的。看自己的喜好。
基础环境配置,防火墙,selinux这些,yum源都不配置了哈,参考之前的文档。
安装:
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举例
这些地方都是注意的,priority 这个权重另外2个机器是90 和70 ,其他的都不变就行
然后启动就行了
systemctl restart keepalived
自己可以测试关闭,看看vip是否会漂移,我这里是可以的
接下来安装haproxy所有master节点
yum install haproxy -y
三个机器的都是一样的,直接拷贝过去就行不用修改
然后启动就行
systemctl start haproxy
编写 kubeadm 配置文件
在一个master上面就行
其中podSubnet是最重要的,不然后面flannel启动不了一定要添加
接下来启动
kubeadm init --config=kubeadm-init.yaml --experimental-upload-certs
上面是master使用,下面是ndoe使用
然后查看状态安装网络插件flannel
随便找个master启动一个容器测试一下‘’
在拉nginx镜像,稍等会
验证一下效果
现在vip在master1上面,接下来模拟故障,看看vip是否会漂移,集群会不会不能用