kubeasz后期添加master、node節點
添加master節點
https://github.com/easzlab/kubeasz/blob/master/docs/op/op-master.md
新增kube-master節點大致流程為:tools/03.addmaster.yml
[可選]新節點安裝 chrony 時間同步
新節點預處理 prepare
新節點安裝 docker 服務
新節點安裝 kube-master 服務
新節點安裝 kube-node 服務
新節點安裝網絡插件相關
禁止業務 pod調度到新master節點
更新 node 節點 haproxy 負載均衡並重啟
首先配置 ssh 免密碼登錄新增節點
需要在有ansible的master節點執行:
1、easzctl add-master 192.168.3.143 #添加master;del-master,刪除master
添加node節點
需要在有ansible的master節點執行:
1、easzctl add-node 192.168.3.146 #del-node,刪除node
升級k8s集群
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.17.md#downloads-for-v1174 #k8s-1.17.4下載地址
https://github.com/easzlab/kubeasz/blob/master/docs/op/upgrade.md #升級k8s集群
升級k8s集群時,不要跳大版本升級,如1.17版本,不要直接升級到1.18,每個大版本的配置參數都可能會不一致;可以升級1.17的小版本
需要在有ansible的master節點執行:
1、cd /usr/local/src
2、ll #需要有這4個包
kubernetes-client-linux-amd64.tar.gz
kubernetes-node-linux-amd64.tar.gz
kubernetes-server-linux-amd64.tar.gz
kubernetes.tar.gz
3、tar xf kubernetes-server-linux-amd64.tar.gz
4、mkdir /opt/k8s-1.17.{2,4}
5、cd /etc/ansible/bin/
6、cp kubectl kube-apiserver kube-proxy kube-controller-manager kubelet kube-scheduler /opt/k8s-1.17.2/
#將原有二進制文件拷貝到指定目錄下,做備份,當升級錯誤時,還可以做恢復
7、cd /usr/local/src/kubernetes/server/bin
8、cp kubectl kube-apiserver kube-proxy kube-controller-manager kubelet kube-scheduler /opt/k8s-1.17.4/
#備份當前版本
9、cd /opt/k8s-1.17.4
10、cp ./* /etc/ansible/bin/ #替換舊版本二進制程序
11、easzctl upgrade #升級集群,此升級不會中斷業務應用
12、kubectl get node #查看是否升級成功
注意事項
如果手動執行替換二進制程序的方式進行集群升級,則需要先把服務停掉(master 5個服務,node 2個服務),如果不停服務,二進制程序是無法被替換的,因為當前進程正在加載這些二進制程序