ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

二进制部署K8s集群第24节平滑切换版本技巧

2020-10-08 07:00:59  阅读:304  来源: 互联网

标签:24 hdss7 kube 21 kubernetes 二进制 opt K8s root


一、K8s平滑切换版本技巧

1.1 升级方法

二进制部署K8s集群第23节addons之安装部署dashboard

1 一台服务器操作完成切换,再操作第二台、第三台...

2、删除一台node节点

3、关闭升级机器负载匀衡

4、删除老版本软链接,新版本做软链接

5、拷贝老版本重启脚本证书到新软版本软件目录

6、重启kubelet、kube-scheduler、kube-apiserver、kube-proxy、kube-controller-manager

1.2 删除Node节点

hdss7-21执行

[root@hdss7-21 opt]# kubectl get nodes -o wide
NAME                STATUS   ROLES    AGE    VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION           CONTAINER-RUNTIME
hdss7-21.host.com   Ready    <none>   3d7h   v1.19.2   10.4.7.21     <none>        CentOS Linux 7 (Core)   3.10.0-1127.el7.x86_64   docker://19.3.13
hdss7-22.host.com   Ready    master   3d7h   v1.19.2   10.4.7.22     <none>        CentOS Linux 7 (Core)   3.10.0-1127.el7.x86_64  
[root@hdss7-21 opt]# kubectl delete nodes hdss7-21.host.com
node "hdss7-21.host.com" deleted
[root@hdss7-21 opt]# kubectl get nodes 
NAME                STATUS   ROLES    AGE    VERSION
hdss7-22.host.com   Ready    master   3d7h   v1.19.2

1.3 注释反代

hdss7-11和hdss7-12执行

[root@hdss7-11 ~]# grep -w " server 10.4.7.21:6443"  /etc/nginx/nginx.conf
#        server 10.4.7.21:6443     max_fails=3 fail_timeout=30s;
nginx -s reload

1.4 切目录重启

hdss7-21执行

[root@hdss7-21 ~]# mkdir /opt/net_version;cd /opt/net_version;
[root@hdss7-21 new_version]# ll
总用量 434140
-rw-r--r-- 1 root root 444555407 10月  8 2020 kubernetes-server-linux-amd64.tar.gz
tar xf kubernetes-server-linux-amd64.tar.gz 
[root@hdss7-21 new_version]# ll
总用量 434140
drwxr-xr-x 4 root root        79 5月   6 13:55 kubernetes
-rw-r--r-- 1 root root 444555407 10月  8 2020 kubernetes-server-linux-amd64.tar.gz
[root@hdss7-21 new_version]# mv kubernetes /opt/kubernetes-v1.15.12
[root@hdss7-21 new_version]# cd /opt/kubernetes-v1.15.12/
[root@hdss7-21 kubernetes-v1.15.12]# rm -rf kubernetes-src.tar.gz
[root@hdss7-21 kubernetes-v1.15.12]# cd server/bin
[root@hdss7-21 bin]# rm -f *.tar *_tag
[root@hdss7-21 bin]# cp -rf /opt/kubernetes-v1.19.2/server/bin/conf .
[root@hdss7-21 bin]# cp -rf /opt/kubernetes-v1.19.2/server/bin/certs .
[root@hdss7-21 bin]# cp /opt/kubernetes-v1.19.2/server/bin/kubelet.sh .
[root@hdss7-21 opt]# ln -sf /opt/kubernetes-v1.15.12 /opt/kubernetes
[root@hdss7-21 opt]# supervisorctl status kube-apiserver-7-21  kube-controller-manager-7-21 kube-proxy-7-21  kube-scheduler-7-21  
kube-apiserver-7-21              STOPPED   Oct 06 08:01 AM
kube-controller-manager-7-21     STOPPED   Oct 06 08:02 AM
kube-proxy-7-21                  STOPPED   Oct 06 08:02 AM
kube-scheduler-7-21              STOPPED   Oct 06 08:02 AM
[root@hdss7-21 opt]# supervisorctl start kube-apiserver-7-21  kube-controller-manager-7-21 kube-proxy-7-21  kube-scheduler-7-21 kube-kubelet-7-21
[root@hdss7-21 bin]# supervisorctl status                 
etcd-server-7-21                 RUNNING   pid 36332, uptime 2 days, 17:43:39
flanneld-7-21                    RUNNING   pid 130301, uptime 2 days, 12:33:31
kube-apiserver-7-21              RUNNING   pid 63354, uptime 0:09:44
kube-controller-manager-7-21     RUNNING   pid 63378, uptime 0:09:13
kube-kubelet-7-21                FATAL     Exited too quickly (process log may have details)
kube-proxy-7-21                  RUNNING   pid 63398, uptime 0:08:43
kube-scheduler-7-21              RUNNING   pid 63522, uptime 0:08:12

1.5 开启Kubelet报错

估计是关闭kubelet没关好

看启动报错日志提示删除文件再重启
Please drain this node and delete the CPU manager checkpoint file "/data/kubelet/cpu_manager_state" before restarting Kubelet.
F1006 08:07:22.483670   62266 server.go:273] failed to run Kubelet: could not initialize checkpoint manager: could not restore state from checkpoint: checkpoint is corrupted
Please drain this node and delete the CPU manager checkpoint file "/data/kubelet/cpu_manager_state" before restarting K
[root@hdss7-21 bin]# rm -rf /data/kubelet/cpu_manager_state
[root@hdss7-21 bin]# supervisorctl start kube-kubelet-7-21 
[root@hdss7-21 bin]# supervisorctl status
etcd-server-7-21                 RUNNING   pid 36332, uptime 2 days, 17:44:39
flanneld-7-21                    RUNNING   pid 130301, uptime 2 days, 12:34:31
kube-apiserver-7-21              RUNNING   pid 63354, uptime 0:10:44
kube-controller-manager-7-21     RUNNING   pid 63378, uptime 0:10:13
kube-kubelet-7-21                RUNNING   pid 65092, uptime 0:00:37
kube-proxy-7-21                  RUNNING   pid 63398, uptime 0:09:43
kube-scheduler-7-21              RUNNING   pid 63522, uptime 0:09:12
[root@hdss7-21 bin]# kubectl get nodes
NAME                STATUS   ROLES    AGE         VERSION
hdss7-21.host.com   Ready    <none>   <invalid>   v1.15.12   # 已切换版本
hdss7-22.host.com   Ready    master   3d8h        v1.19.2

1.6 开启反代

hdss7-11和hdss7-12执行

[root@hdss7-11 ~]# grep -w " server 10.4.7.21:6443"  /etc/nginx/nginx.conf
        server 10.4.7.21:6443     max_fails=3 fail_timeout=30s;
nginx -s reload

标签:24,hdss7,kube,21,kubernetes,二进制,opt,K8s,root
来源: https://blog.51cto.com/yht1990/2540396

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有