微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

k8s的小版本升级与降级

升级

先从负载均衡服务器上面禁用,防止调度到正在做升级相应服务器上 (记得,升级完后要把注释去掉,重新加载haproxy)

[root@haproxy ~]# cat /etc/haproxy/haproxy.cfg
listen k8s-m44-6443
  bind 172.18.8.168:6443
  mode tcp
  #server 172.18.8.109 172.18.8.109:6443 check inter 2s fall 3 rise 5
  server 172.18.8.119 172.18.8.119:6443 check inter 2s fall 3 rise 5
  server 172.18.8.129 172.18.8.129:6443 check inter 2s fall 3 rise 5

重新加载haproxy

[root@haproxy ~]# systemctl reload haproxy.service

先安装指定版本(每个master都执行)

[root@k8s-server1 ~]# apt-cache madison kubeadm

[root@k8s-server1 ~]# apt install kubeadm=1.20.9-00 kubelet=1.20.9-00 kubectl=1.20.9-00
...
[y/n] y

查看升级计划

[root@k8s-server1 manifests]# kubeadm upgrade plan
[upgrade/con@R_404_6408@] Making sure the con@R_404_6408@uration is correct:
[upgrade/con@R_404_6408@] Reading con@R_404_6408@uration from the cluster...
[upgrade/con@R_404_6408@] FYI: You can look at this con@R_404_6408@ file with 'kubectl -n kube-system get cm kubeadm-con@R_404_6408@ -o yaml'
[preflight] Running pre-flight checks.
[upgrade] Running cluster health checks
[upgrade] Fetching available versions to upgrade to
[upgrade/versions] Cluster version: v1.20.5
[upgrade/versions] kubeadm version: v1.20.9
I0727 07:39:27.335261   26453 version.go:254] remote version is much newer: v1.21.3; falling back to: stable-1.20
[upgrade/versions] Latest stable version: v1.20.9
[upgrade/versions] Latest stable version: v1.20.9
[upgrade/versions] Latest version in the v1.20 series: v1.20.9
[upgrade/versions] Latest version in the v1.20 series: v1.20.9

Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
COMPONENT   CURRENT       AVAILABLE
kubelet     6 x v1.20.5   v1.20.9

Upgrade to the latest version in the v1.20 series:

COMPONENT                 CURRENT    AVAILABLE
kube-apiserver            v1.20.5    v1.20.9
kube-controller-manager   v1.20.5    v1.20.9
kube-scheduler            v1.20.5    v1.20.9
kube-proxy                v1.20.5    v1.20.9
coredns                   1.7.0      1.7.0
etcd                      3.4.13-0   3.4.13-0

You can Now apply the upgrade by executing the following command:

	kubeadm upgrade apply v1.20.9

_____________________________________________________________________


The table below shows the current state of component con@R_404_6408@s as understood by this version of kubeadm.
Con@R_404_6408@s that have a "yes" mark in the "MANUAL UPGRADE required" column require manual con@R_404_6408@ upgrade or
resetting to kubeadm defaults before a successful upgrade can be performed. The version to manually
upgrade to is denoted in the "PREFERRED VERSION" column.

API GROUP                 CURRENT VERSION   PREFERRED VERSION   MANUAL UPGRADE required
kubeproxy.con@R_404[email protected]   v1alpha1          v1alpha1            no
kubelet.con@R_404[email protected]     v1beta1           v1beta1             no
_____________________________________________________________________

执行(每个master)

[root@k8s-server1 ~]# kubeadm upgrade apply v1.20.9
[y/n] y
...
[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.20.9". Enjoy!

node节点执行(每个node节点)

[root@k8s-node1 ~]# apt install kubeadm=1.20.9-00 kubelet=1.20.9-00
...
[y/n] y

查看版本是否有变化

[root@k8s-server1 ~]# kubectl get node
NAME          STATUS   ROLES                  AGE    VERSION
k8s-node1     Ready    <none>                 2d3h   v1.20.9
k8s-node2     Ready    <none>                 2d3h   v1.20.9
k8s-node3     Ready    <none>                 43h    v1.20.9
k8s-server1   Ready    control-plane,master   2d4h   v1.20.9
k8s-server2   Ready    control-plane,master   2d3h   v1.20.9
k8s-server3   Ready    control-plane,master   2d2h   v1.20.9

降级

先下载比上个版本低的版本号

[root@k8s-server1 ~]# apt install kubeadm=1.20.5-00 kubelet=1.20.5-00 kubectl=1.20.5-00
...
[y/n] y

查看计划

[root@k8s-server1 ~]# kubeadm upgrade plan

执行

[root@k8s-server1 ~]# kubeadm upgrade apply v1.20.5
...
[y/n] y
...
[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.20.5". Enjoy!

node节点执行

[root@k8s-node1 ~]# apt install kubeadm=1.20.5-00 kubelet=1.20.5-00
...
[y/n] y

查看

[root@k8s-server1 ~]# kubectl get node
NAME          STATUS   ROLES                  AGE    VERSION
k8s-node1     Ready    <none>                 2d3h   v1.20.5
k8s-node2     Ready    <none>                 2d3h   v1.20.5
k8s-node3     Ready    <none>                 43h    v1.20.5
k8s-server1   Ready    control-plane,master   2d4h   v1.20.5
k8s-server2   Ready    control-plane,master   2d3h   v1.20.5
k8s-server3   Ready    control-plane,master   2d3h   v1.20.5

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐