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 Windows nodes
升级 Windows 节点
Kubernetes v1.18 [beta]
本页解释如何升级用 kubeadm 创建的 Windows 节点。
准备开始
你必须拥有一个 Kubernetes 的集群,同时你必须配置 kubectl 命令行工具与你的集群通信。 建议在至少有两个不作为控制平面主机的节点的集群上运行本教程。 如果你还没有集群,你可以通过 Minikube 构建一个你自己的集群,或者你可以使用下面的 Kubernetes 练习环境之一:
你的 Kubernetes 服务器版本必须不低于版本 1.17. 要获知版本信息,请输入kubectl version
.
- 熟悉更新 kubeadm 集群中的其余组件。 在升级你的 Windows 节点之前你会想要升级控制面节点。
升级工作节点
升级 kubeadm
-
在 Windows 节点上升级 kubeadm:
# 将 1.30.0 替换为你希望的版本 curl.exe -Lo <kubeadm.exe 路径> "https://dl.k8s.io/v1.30.0/bin/windows/amd64/kubeadm.exe"
腾空节点
-
在一个能访问到 Kubernetes API 的机器上,将 Windows 节点标记为不可调度并 驱逐其上的所有负载,以便准备节点维护操作:
# 将 <要腾空的节点> 替换为你要腾空的节点的名称 kubectl drain <要腾空的节点> --ignore-daemonsets
你应该会看到类似下面的输出:
node/ip-172-31-85-18 cordoned node/ip-172-31-85-18 drained
升级 kubelet 配置
-
在 Windows 节点上,执行下面的命令来同步新的 kubelet 配置:
kubeadm upgrade node
升级 kubelet 和 kube-proxy
-
在 Windows 节点上升级并重启 kubelet:
stop-service kubelet curl.exe -Lo <kubelet.exe 路径> "https://dl.k8s.io/v1.30.0/bin/windows/amd64/kubelet.exe" restart-service kubelet
-
在 Windows 节点上升级并重启 kube-proxy:
stop-service kube-proxy curl.exe -Lo <kube-proxy.exe 路径> "https://dl.k8s.io/v1.30.0/bin/windows/amd64/kube-proxy.exe" restart-service kube-proxy
如果你是在 Pod 内的 HostProcess 容器中运行 kube-proxy,而不是作为 Windows 服务, 你可以通过应用更新版本的 kube-proxy 清单文件来升级 kube-proxy。
对节点执行 uncordon 操作
-
从一台能够访问到 Kubernetes API 的机器上,通过将节点标记为可调度,使之 重新上线:
# 将 <要腾空的节点> 替换为你的节点名称 kubectl uncordon <要腾空的节点>
接下来
- 查看如何升级 Linux 节点。