栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

K8S复习(四):Kubernetes版本升级

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

K8S复习(四):Kubernetes版本升级

目录

升级主控制平面节点

确定要升级到哪个版本

升级第一个控制面节点

 腾空节点 

 升级 kubelet 和 kubectl 

升级工作节点 

腾空节点, 升级 kubelet 和 kubectl


升级主控制平面节点

确定要升级到哪个版本
yum list --showduplicates kubeadm --disableexcludes=kubernetes
# 在列表中查找最新的 1.23 版本
# 它看起来应该是 1.23.x-0,其中 x 是最新的补丁版本

升级第一个控制面节点

如果你的集群是使用 kubeadm 安装工具部署而来, 那么需要先安装要升级的 kubeadm 版本

[root@server1 ~]# yum install -y kubeadm-1.22.2-0    #安装预升级把版本
[root@server1 ~]# kubeadm version    #验证下载操作正常,并且 kubeadm 版本正确
[root@server1 ~]# kubeadm upgrade plan    #验证升级计划

kubeadm upgrade 也会自动对 kubeadm 在节点上所管理的证书执行续约操作。 如果需要略过证书续约操作,可以使用标志 --certificate-renewal=false

如果 kubeadm upgrade plan 给出任何需要手动升级的组件配置,用户必须 通过 --config 命令行标志向 kubeadm upgrade apply 命令提供替代的配置文件。 如果不这样做,kubeadm upgrade apply 会出错并退出,不再执行升级操作。

[root@server1 ~]# kubeadm upgrade apply v1.22.2    #此时他会下载你的控制器 apiserver, scheduler ,但是无法升级 etcd ,可以把 --etcd-upgrade 改为 false 

一旦该命令结束,你应该会看到:

 

 腾空节点 

此时 node 中版本还未升级,但 pod 版本已经升级,pod 中 apiserver 时间运行已经更新

[root@server1 ~]# kubectl drain server1  --ignore-daemonsets  #腾空 server1 节点
[root@server1 ~]# kubectl get nodes 
NAME      STATUS                     ROLES                  AGE   VERSION
server1   Ready,SchedulingDisabled   control-plane,master   27h   v1.22.1
server2   Ready                                       27h   v1.22.1
server3   Ready                                       27h   v1.22.1
## server1 节点调度已经被驱离

 升级 kubelet 和 kubectl 
[root@server1 ~]# yum install -y kubelet-1.22.2-0 kubectl-1.22.2-0
[root@server1 ~]# systemctl daemon-reload 
[root@server1 ~]# systemctl restart kubelet.service 
[root@server1 ~]# kubectl uncordon server1        ##解除保护
[root@server1 ~]# kubectl get nodes 
NAME      STATUS   ROLES                  AGE   VERSION
server1   Ready    control-plane,master   27h   v1.22.2
server2   Ready                     27h   v1.22.1
server3   Ready                     27h   v1.22.1

升级工作节点 
[root@server2 ~]# yum install -y kubeadm-1.22.2-0 --disableexcludes=kubernetes
[root@server3 ~]# yum install -y kubeadm-1.22.2-0 --disableexcludes=kubernetes
[root@server2 ~]# kubeadm upgrade node    #升级本地的 kubelet 配置

腾空节点, 升级 kubelet 和 kubectl

注意:不能同时驱离所有节

[root@server1 ~]# kubectl drain server2 --ignore-daemonsets
[root@server2 ~]# yum install -y kubelet-1.22.2-0 kubectl-1.22.2-0
[root@server3 ~]# yum install -y kubelet-1.22.2-0 kubectl-1.22.2-0
[root@server2 ~]# systemctl daemon-reload 
[root@server2 ~]# systemctl restart kubelet.service 
[root@server1 ~]# kubectl uncordon server2
[root@server1 ~]# kubectl drain server3 --ignore-daemonsets
[root@server3 ~]# systemctl daemon-reload
[root@server3 ~]# systemctl restart kubelet.service 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/882277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号