升级 Linux 节点
本页解释了如何升级使用 kubeadm 创建的 Linux Worker 节点。
开始之前
您需要具有所有节点的 shell 访问权限,并且 kubectl 命令行工具必须配置为与您的集群通信。建议在至少有两个非控制平面节点的集群上运行本教程。
要检查版本,请输入 kubectl version。
- 熟悉 升级 kubeadm 集群的其余部分 的过程。您应该先升级控制平面节点,然后再升级 Linux Worker 节点。
更改软件包仓库
如果您使用的是社区拥有的软件包仓库 (pkgs.k8s.io),则需要启用所需 Kubernetes 次要版本的软件包仓库。这在 更改 Kubernetes 软件包仓库 文档中进行了说明。
注意: 遗留软件包仓库 (
apt.kubernetes.io 和 yum.kubernetes.io) 已于 2023 年 9 月 13 日 弃用并冻结。强烈建议使用 托管在 pkgs.k8s.io 上的新软件包仓库,并且是安装 2023 年 9 月 13 日之后发布的 Kubernetes 版本所必需的。 弃用的遗留仓库及其内容可能会在未来随时被删除,且不会进一步通知。新的软件包仓库提供从 v1.24.0 开始的 Kubernetes 版本下载。升级 Worker 节点
升级 kubeadm
升级 kubeadm
# replace x in 1.35.x-* with the latest patch version
sudo apt-mark unhold kubeadm && \
sudo apt-get update && sudo apt-get install -y kubeadm='1.35.x-*' && \
sudo apt-mark hold kubeadm
对于使用 DNF 的系统
# replace x in 1.35.x-* with the latest patch version
sudo yum install -y kubeadm-'1.35.x-*' --disableexcludes=kubernetes
对于使用 DNF5 的系统
# replace x in 1.35.x-* with the latest patch version
sudo yum install -y kubeadm-'1.35.x-*' --setopt=disable_excludes=kubernetes
调用 "kubeadm upgrade"
对于 Worker 节点,这将升级本地 kubelet 配置
sudo kubeadm upgrade node
清空节点
通过标记节点为不可调度并驱逐工作负载来为维护准备节点
# execute this command on a control plane node
# replace <node-to-drain> with the name of your node you are draining
kubectl drain <node-to-drain> --ignore-daemonsets
升级 kubelet 和 kubectl
升级 kubelet 和 kubectl
# replace x in 1.35.x-* with the latest patch version sudo apt-mark unhold kubelet kubectl && \ sudo apt-get update && sudo apt-get install -y kubelet='1.35.x-*' kubectl='1.35.x-*' && \ sudo apt-mark hold kubelet kubectl对于使用 DNF 的系统
# replace x in 1.35.x-* with the latest patch version sudo yum install -y kubelet-'1.35.x-*' kubectl-'1.35.x-*' --disableexcludes=kubernetes对于使用 DNF5 的系统
# replace x in 1.35.x-* with the latest patch version sudo yum install -y kubelet-'1.35.x-*' kubectl-'1.35.x-*' --setopt=disable_excludes=kubernetes重启 kubelet
sudo systemctl daemon-reload sudo systemctl restart kubelet
取消清空节点
通过标记节点为可调度来使节点恢复在线
# execute this command on a control plane node
# replace <node-to-uncordon> with the name of your node
kubectl uncordon <node-to-uncordon>
接下来
- 请参阅 升级 Windows 节点。
上次修改时间:2025 年 8 月 25 日下午 5:08 PST:添加了 DNF5 的示例 (fefe9b4158)