考点精讲
- 集群升级必须严格按顺序、控步幅进行。升级前先备份 etcd、用 kubectl get nodes 确认当前版本,再用 kubeadm upgrade plan 查看可升级的版本。升级分两段:先升级控制平面——执行 kubeadm upgrade apply 完成,再更新 kubectl/kubelet;随后逐个升级工作节点——先把节点 drain 排空,再升级该节点的 kubeadm 和 kubelet,最后 uncordon 恢复调度,一个一个来,避免所有节点同时不可用。升级的铁律是「一次跳一个次版本」(如 1.21→1.22),不能跨多个版本。升级完成后用 kubectl get nodes 验证所有节点版本一致。
记忆技巧
升级顺序:先主后从,逐节点 drain→升级→uncordon
一次跳一个小版本,别跨大步
一次跳一个小版本,别跨大步
常见误区
- 升级前不备份 etcd,失败无法回滚
- 跳版本升级(不支持跨多版本)
- 升级后 node 版本与控制平面不一致
真题思路
- 【示例】本页题目为教学模拟题,非真题,仅用于讲解答题思路 升级工作节点前的第一步操作是?
kubectl drain <节点> 排空负载 直接升级 kubelet kubeadm upgrade apply 删除节点
答案:A
解析:升级工作节点前应先 drain 排空负载,避免影响业务;直接升级或删除节点都不安全。
常见问题
Q:升级前必须做什么
A:备份 etcd,并确认当前版本与可升级版本。
Q:升级顺序是什么
A:先控制平面,再逐个工作节点(drain→升级→uncordon)。
Q:能跨多个版本升级吗
A:不能,一次只能升一个次版本。
相关知识
教材出处:第16章 集群升级 集群升级