k8s做为当前企业的容器编排工具,生产环境已经很是多的使用了,因此必定要保证集群的高可用,k8s其实最重要的是api-server组件,这是整个集群的惟一入口,因此必定要保证整个集群的正常运行。node
这里使用kubeadmin部署,在1.13版本以后kubeadmin可使用在生产环境,,因此这里使用1.15版本部署,固然二进制部署也是能够的。看本身的喜爱。linux
基础环境配置,防火墙,selinux这些,yum源都不配置了哈,参考以前的文档。nginx
安装:
yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0docker
systemctl enable kubeletapi
全部master上面执行网络
node安装yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
systemctl enable kubelet
完成以后下载镜像ide
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测试
这里使用的 是阿里云镜像哈google
全部的配置我都放到了百度网盘
连接: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
接下来另外2个master加入集群
完成以后都要执行
查看一下效果在另外的一个master上面
全部的都启动了接下来开始加入node节点
好了加入完成看一下
随便找个master启动一个容器测试一下‘’
在拉nginx镜像,稍等会
验证一下效果
访问一下
如今vip在master1上面,接下来模拟故障,看看vip是否会漂移,集群会不会不能用
ip地址已经飘过来了
等恢复以后在加入集群就行了高可用部署就到这里,有什么问题欢迎留言私信