Information in this document may be out of date
This document has an older update date than the original, so the information it contains may be out of date. If you're able to read English, see the English version for the most up-to-date information: Upgrading Linux nodes
升级 Linux 节点
本页讲述了如何升级用 kubeadm 创建的 Linux 工作节点。
准备开始
你必须拥有一个 Kubernetes 的集群,同时你必须配置 kubectl 命令行工具与你的集群通信。 建议在至少有两个不作为控制平面主机的节点的集群上运行本教程。 如果你还没有集群,你可以通过 Minikube 构建一个你自己的集群,或者你可以使用下面的 Kubernetes 练习环境之一:
要获知版本信息,请输入kubectl version
.- 你自己要熟悉升级剩余 kubeadm 集群的过程。 你需要先升级控制面节点,再升级 Linux 工作节点。
升级工作节点
升级 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 节点。
最后修改 August 16, 2023 at 9:22 PM PST: [zh] sync kubeadm-upgrade.md (9bde031f87)