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

174 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: 升级 Windows 节点
min-kubernetes-server-version: 1.17
content_type: task
weight: 40
---
<!--
title: Upgrading Windows nodes
min-kubernetes-server-version: 1.17
content_type: task
weight: 40
-->
<!-- overview -->
{{< feature-state for_k8s_version="v1.18" state="beta" >}}
<!--
This page explains how to upgrade a Windows node [created with kubeadm](/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes).
-->
本页解释如何升级[用 kubeadm 创建的](/zh/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes)
Windows 节点。
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
<!--
* Familiarize yourself with [the process for upgrading the rest of your kubeadm
cluster](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade). You will want to
upgrade the control plane nodes before upgrading your Windows nodes.
-->
* 熟悉[更新 kubeadm 集群中的其余组件](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade)。
在升级你的 Windows 节点之前你会想要升级控制面节点。
<!-- steps -->
<!--
## Upgrading worker nodes
### Upgrade kubeadm
-->
## 升级工作节点 {#upgrading-worker-nodes}
### 升级 kubeadm {#upgrade-kubeadm}
<!--
1. From the Windows node, upgrade kubeadm:
```powershell
# replace {{< param "fullversion" >}} with your desired version
curl.exe -Lo C:\k\kubeadm.exe https://dl.k8s.io/{{< param "fullversion" >}}/bin/windows/amd64/kubeadm.exe
```
-->
1. 在 Windows 节点上升级 kubeadm
```powershell
# 将 {{< param "fullversion" >}} 替换为你希望的版本
curl.exe -Lo C:\k\kubeadm.exe https://dl.k8s.io/{{< param "fullversion" >}}/bin/windows/amd64/kubeadm.exe
```
<!--
### Drain the node
1. From a machine with access to the Kubernetes API,
prepare the node for maintenance by marking it unschedulable and evicting the workloads:
```shell
# replace <node-to-drain> with the name of your node you are draining
kubectl drain <node-to-drain> -ignore-daemonsets
```
You should see output similar to this:
```
node/ip-172-31-85-18 cordoned
node/ip-172-31-85-18 drained
```
-->
### 腾空节点 {#drain-the-node}
1. 在一个能访问到 Kubernetes API 的机器上,将 Windows 节点标记为不可调度并
驱逐其上的所有负载,以便准备节点维护操作:
```shell
# 将 <要腾空的节点> 替换为你要腾空的节点的名称
kubectl drain <要腾空的节点> -ignore-daemonsets
```
你应该会看到类似下面的输出:
```
node/ip-172-31-85-18 cordoned
node/ip-172-31-85-18 drained
```
<!--
### Upgrade the kubelet configuration
1. From the Windows node, call the following command to sync new kubelet configuration:
```powershell
kubeadm upgrade node
```
-->
### 升级 kubelet 配置 {#upgrade-the-kubelet-configuration}
1. 在 Windows 节点上,执行下面的命令来同步新的 kubelet 配置:
```powershell
kubeadm upgrade node
```
<!--
### Upgrade kubelet
1. From the Windows node, upgrade and restart the kubelet:
```powershell
stop-service kubelet
curl.exe -Lo C:\k\kubelet.exe https://dl.k8s.io/{{< param "fullversion" >}}/bin/windows/amd64/kubelet.exe
restart-service kubelet
```
-->
### 升级 kubelet {#upgrade-kubelet}
1. 在 Windows 节点上升级并重启 kubelet
```powershell
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 the node
1. From a machine with access to the Kubernetes API,
bring the node back online by marking it schedulable:
```shell
# replace <node-to-drain> with the name of your node
kubectl uncordon <node-to-drain>
```
-->
### 对节点执行 uncordon 操作 {#uncordon-the-node}
1. 从一台能够访问到 Kubernetes API 的机器上,通过将节点标记为可调度,使之
重新上线:
```shell
# 将 <要腾空的节点> 替换为你的节点名称
kubectl uncordon <要腾空的节点>
```
<!--
### Upgrade kube-proxy
1. From a machine with access to the Kubernetes API, run the following,
again replacing {{< param "fullversion" >}} with your desired version:
```shell
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 -
```
-->
### 升级 kube-proxy {#upgrade-kube-proxy}
1. 在一台可访问 Kubernetes API 的机器上和,将 {{< param "fullversion" >}} 替换成你
期望的版本后再次执行下面的命令:
```shell
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 -
```