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个服务),如果不停服务,二进制程序是无法被替换的,因为当前进程正在加载这些二进制程序