website/content/zh/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md

4.8 KiB
Raw Permalink Blame History

title min-kubernetes-server-version content_type weight
升级 Windows 节点 1.17 task 40

{{< feature-state for_k8s_version="v1.18" state="beta" >}}

本页解释如何升级用 kubeadm 创建的 Windows 节点。

{{% heading "prerequisites" %}}

{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}

升级工作节点

升级 kubeadm

  1. 在 Windows 节点上升级 kubeadm

    # 将 {{< param "fullversion" >}} 替换为你希望的版本
    curl.exe -Lo C:\k\kubeadm.exe https://dl.k8s.io/{{< param "fullversion" >}}/bin/windows/amd64/kubeadm.exe
    

腾空节点

  1. 在一个能访问到 Kubernetes API 的机器上,将 Windows 节点标记为不可调度并 驱逐其上的所有负载,以便准备节点维护操作:

    # 将 <要腾空的节点> 替换为你要腾空的节点的名称
    kubectl drain <要腾空的节点> -ignore-daemonsets
    

    你应该会看到类似下面的输出:

    node/ip-172-31-85-18 cordoned
    node/ip-172-31-85-18 drained
    

升级 kubelet 配置

  1. 在 Windows 节点上,执行下面的命令来同步新的 kubelet 配置:

    kubeadm upgrade node
    

升级 kubelet

  1. 在 Windows 节点上升级并重启 kubelet

    stop-service kubelet
    curl.exe -Lo C:\k\kubelet.exe https://dl.k8s.io/{{< param "fullversion" >}}/bin/windows/amd64/kubelet.exe
    restart-service kubelet
    

对节点执行 uncordon 操作

  1. 从一台能够访问到 Kubernetes API 的机器上,通过将节点标记为可调度,使之 重新上线:

    # 将 <要腾空的节点> 替换为你的节点名称
    kubectl uncordon <要腾空的节点>
    

升级 kube-proxy

  1. 在一台可访问 Kubernetes API 的机器上和,将 {{< param "fullversion" >}} 替换成你 期望的版本后再次执行下面的命令:

    curl -L https://github.com/kubernetes-sigs/sig-windows-tools/releases/latest/download/kube-proxy.yml | sed 's/VERSION/{{< param "fullversion" >}}/g' | kubectl apply -f -