升级 Linux 节点
本页讲述了如何升级用 kubeadm 创建的 Linux 工作节点。
准备开始
你必须拥有一个 Kubernetes 的集群,同时你必须配置 kubectl 命令行工具与你的集群通信。 建议在至少有两个不作为控制平面主机的节点的集群上运行本教程。 如果你还没有集群,你可以通过 Minikube 构建一个你自己的集群,或者你可以使用下面的 Kubernetes 练习环境之一:
要获知版本信息,请输入kubectl version
.- 你自己要熟悉升级剩余 kubeadm 集群的过程。 你需要先升级控制面节点,再升级 Linux 工作节点。
更改软件包仓库
如果你正在使用社区自治的软件包仓库(pkgs.k8s.io
),
你需要启用所需的 Kubernetes 小版本的软件包仓库。
这一点在更改 Kubernetes 软件包仓库文档中有详细说明。
升级工作节点
升级 kubeadm
升级 kubeadm:
# 将 1.28.x-* 中的 x 替换为最新的补丁版本
apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm='1.28.x-*' && \
apt-mark hold kubeadm
# 将 1.28.x-* 中的 x 替换为最新的补丁版本
yum install -y kubeadm-'1.28.x-*' --disableexcludes=kubernetes
执行 "kubeadm upgrade"
对于工作节点,下面的命令会升级本地的 kubelet 配置:
sudo kubeadm upgrade node
腾空节点
将节点标记为不可调度并驱逐所有负载,准备节点的维护:
# 将 <node-to-drain> 替换为你正腾空的节点的名称
kubectl drain <node-to-drain> --ignore-daemonsets
升级 kubelet 和 kubectl
升级 kubelet 和 kubectl:
# 将 1.28.x-* 中的 x 替换为最新的补丁版本 apt-mark unhold kubelet kubectl && \ apt-get update && apt-get install -y kubelet='1.28.x-*' kubectl='1.28.x-*' && \ apt-mark hold kubelet kubectl
# 将 1.28.x-* 中的 x 替换为最新的补丁版本 yum install -y kubelet-'1.28.x-*' kubectl-'1.28.x-*' --disableexcludes=kubernetes
重启 kubelet:
sudo systemctl daemon-reload sudo systemctl restart kubelet
取消对节点的保护
通过将节点标记为可调度,让节点重新上线:
# 将 <node-to-uncordon> 替换为你的节点名称
kubectl uncordon <node-to-uncordon>
接下来
- 查阅如何升级 Windows 节点。
最后修改 October 12, 2023 at 10:27 PM PST: [zh] Sync change-package-repository.md (37cb4e7876)