本次实验是 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