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地址已經飄過來了
等恢復以後在加入集羣就行了
高可用部署就到這裏,有什麼問題歡迎留言私信