kubeadm-upgrade
升级注意事项
升级注意,不能跨版本升级,比如:
- 1.19.x → 1.20.y——是可以的(其中y > x)
- 1.19.x → 1.21.y——不可以【跨段了】(其中y > x)
- 1.21.x→ 1.21.y——也可以(只要其中y > x)
所以,如果需要跨大版本升级,必须多次逐步升级
升级流程
先升级master【如果有多master,需要一台一台升级】
- 节点安装高版本kubeadm
- kubeadm upgrade plan,可以检查集群是否可以升级,并获取可以升级到的版本,它还显示了一个包含组件配置版本状态的表
- 驱逐节点:kubectl drain <nodename> --ignore-daemonsets
- 选择一个版本进行升级,如kubeadm upgrade apply v1.27.x
- 安装高版本kubelet和kubectl,并重启kubelet
- 恢复驱逐:kubectl uncordon <nodename>
- 升级cni:根据k8s版本需求可自由选择是否升级
- 重复1-6,其余master节点在升级时将步骤4换成:kubeadm upgrade node
再升级work节点
- 节点安装高版本kubeadm
- 驱逐节点:kubectl drain <nodename> --ignore-daemonsets
- kubeadm upgrade node
- 安装高版本kubelet和kubectl,并重启kubelet
- 恢复驱逐:kubectl uncordon <nodename>
参考
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
https://huaweicloud.csdn.net/63311ca1d3efff3090b52806.html#_2
https://github.com/rancher/rke2/issues/5239
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了