标签:tps coredns cache min emctl 管理 and clust packages
参考文档
路就是先升级kubeadm,然后使用kubeadm升级容器相关组件,最后升级kubelet、kubectl
注意: 在操作Control Plane之前必须drain该节点,升级完成后还需要uncordon该节点,使其可以正常工作。在drain时会提示daemonset类型的pod无法驱逐,使用提示里面的--ignore-daemonsets参数即可
主要命令如下
root@~ ]$ kubectl get node # 查看节点状态是否都已经ready
root@~ ]$ kubectl drain hostname --ignore-daemonsets # 将该节点设置为不可调度,并驱逐该节点的所有动态pod,--ignore-daemonsets会把所有daemonsets管理的pod也一起驱逐
root@~ ]$ apt update # 更新可用的软件包列表
root@~ ]$ apt-cache policy kubeadm # 显kubeadm的安装状态和版本信息
root@~ ]$ apt-get update && apt-get install -y --allow-change-held-packages kubeadm=1.20.7-00 # 更新kubeadm版本到1.20.7
root@~ ]$ kubeadm version # 验证kubeadm版本
root@~ ]$ kubeadm upgrade plan # 查看升级计划
root@~ ]$ kubeadm upgrade apply v1.20.7 # 根据升级计划中提示的升级命令将Contron Plane节点相关静态pod组件升级为1.20.7
root@~ ]$ apt-get update && apt-get install -y --allow-change-held-packages kubelet=1.20.7-00 kubectl=1.20.7-00
root@~ ]$ systemctl daemon-reload
root@~ ]$ systemctl restart kubelet # 重启kubelet
root@~ ]$ kubectl uncordon hostname # 升级完成后恢复该节点为可调度
CoreDNS:如果升级过程中这两个组件也被升级了,那么只需要使用kubectl edit -n kube-system deploy coredns
修改deploy中的image版本号为原来的即可,重启kubelet后生效
cordon只会将节点标记为不可调度,而drain不仅会标记为不可调度,默认还会驱逐所有动态pod,但是不能驱逐daemonsets管理的pod。
标签:tps coredns cache min emctl 管理 and clust packages
原文地址:https://www.cnblogs.com/kclinux/p/14829927.html