Upgrading Windows nodes
This page explains how to upgrade a Windows node created with kubeadm.
You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using or you can use one of these Kubernetes playgrounds:
Your Kubernetes server must be at or later than version 1.17. To check the version, enter kubectl version
.
- Familiarize yourself with the process for upgrading the rest of your kubeadm cluster. You will want to upgrade the control plane nodes before upgrading your Windows nodes.
From a machine with access to the Kubernetes API, prepare the node for maintenance by marking it unschedulable and evicting the workloads:
kubectl drain <node-to-drain> --ignore-daemonsets
You should see output similar to this:
From the Windows node, upgrade and restart the kube-proxy.
stop-service kube-proxy
restart-service kube-proxy
Note: If you are running kube-proxy in a HostProcess container within a Pod, and not as a Windows Service, you can upgrade kube-proxy by applying a newer version of your kube-proxy manifests.
From a machine with access to the Kubernetes API, bring the node back online by marking it schedulable: