K8S_11_K8S 集群平滑升级

本次实验是 k8s 1.5.2 升级到 1.5.4
查看版本:
kubectl get node -o wide


查看pod


发现是 node hdss7-21.host.com 上面的pod 比较少,先升级hdss7-21.host.com 这个node

第一步:把hdss7-21.host.com 这个节点从k8s 中摘出来
kubectl delete node hdss7-21.host.com



kubectl get nodes


kubectl get pods -o wide -n kube-system
hdss7-11 hdss7-12 两台的nginx 里面,把upstream 里面的hdss7-21 注释掉

cd /etc/nginx/conf.d
vim od.com.conf


nginx -t
nginx -s reload
第二步:上传k8s 1.5.4 到hdss7-21 上面,拷贝原版本有用的文件到新版本目录,删除新版本里面一些不需要的文件,更新软链接。

将k8s 1.5.4的tar 包解压到一个目录
tar zxf kubernetes-server-linux-amd64-v1.15.4.tar.gz -C /usr/local/src/
cd /usr/local/src/
mv kubernetes kubernetes-v1.5.4
cd kubernetes-v1.5.4/


rm -rf kubernetes-src.tar.gz


cd server/bin


rm -rf *.tar
rm -rf *_tag




mkdir conf && mkdir cert && cd cert/
cp /opt/kubernetes/server/bin/cert/* .


cd ..
cd conf/
cp /opt/kubernetes/server/bin/conf/* .


拷贝原版本的sh文件到新版本 server/bin/
cd ..
cp /opt/kubernetes/server/bin/*.sh .


cd /usr/local/src
mv kubernetes-v1.5.4 /opt/
cd /opt
rm -rf kubernetes
ln -s /opt/kubernetes-v1.5.4 /opt/kubernetes


第三步,重启服务。
supervisorctl sop all
确保这个node 上面的服务都停掉了,没有停掉的,把进程结束。
supervisorctl start all

有可能会有一些服务启动会不成功,查看 supervisor的日志,多半都是一些端口被使用了,其实就是这些服务没有被停掉所致,结束相关的进程,supervisor会自动再启动这个服务。

还有另一个方法,直接重启服务器,启动后,所有服务都启动正常了。

查看hdss7-21 上面的所有服务是否正常


只要kubelet 一重启K8S 会自动再把节点加回来

+++++++++++++
同样的方法,升级另一个节点hdss7-22上面的k8S


最后把nginx 负责,的配置文件改回原来状态。重启nginx