Skip to content

Commit 255bf18

Browse files
authored
Merge pull request #49248 from mburke5678/winc-containerd
OSDOCS-2524: Windows Containers: containerd Mark II
2 parents b60727e + cc74072 commit 255bf18

12 files changed

+37
-36
lines changed

_unused_topics/windows-machine-config-operator.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ The Windows Machine Config Operator (WMCO) orchestrates the process of deploying
1313
[discrete]
1414
== Project
1515

16-
link:https://github.com/openshift/windows-machine-config-operator[windows-machine-config-operator]
16+
link:https://github.com/openshift/windows-machine-config-operator[windows-machine-config-operator]

modules/byoh-configuring.adoc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ Creating a BYOH Windows instance requires creating a config map in the Windows M
1111
.Prerequisites
1212
Any Windows instances that are to be attached to the cluster as a node must fulfill the following requirements:
1313

14-
* The Docker container runtime must be installed on the instance.
1514
* The instance must be on the same network as the Linux worker nodes in the cluster.
1615
* Port 22 must be open and running an SSH server.
1716
* The default shell for the SSH server must be the link:https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration#configuring-the-default-shell-for-openssh-in-windows[Windows Command shell], or `cmd.exe`.
@@ -23,6 +22,11 @@ Any Windows instances that are to be attached to the cluster as a node must fulf
2322
** Starts with an alphanumeric character.
2423
** Ends with an alphanumeric character.
2524
25+
[NOTE]
26+
====
27+
Windows instances deployed by the WMCO are configured with the containerd container runtime. Because the WMCO installs and manages the runtime, it is recommended that you not manually install containerd on nodes.
28+
====
29+
2630
.Procedure
2731
. Create a ConfigMap named `windows-instances` in the WMCO namespace that describes the Windows instances to be added.
2832
+

modules/creating-runtimeclass.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ apiVersion: node.k8s.io/v1beta1
1818
kind: RuntimeClass
1919
metadata:
2020
name: <runtime_class_name> <1>
21-
handler: 'docker'
21+
handler: 'runhcs-wcow-process'
2222
scheduling:
2323
nodeSelector: <2>
2424
kubernetes.io/os: 'windows'

modules/creating-the-vsphere-windows-vm-golden-image.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ PS C:\> Get-Service -Name VMTools | Select Status, StartType
6464
[IMPORTANT]
6565
====
6666
The public key used in the instructions must correspond to the private key you create later in the WMCO namespace that holds your secret. See the "Configuring a secret for the Windows Machine Config Operator" section for more details.
67-
====
67+
====
6868

6969
. Install the `docker` container runtime on your Windows VM following the link:https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server[Microsoft documentation].
7070

modules/windows-workload-management.adoc

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,7 @@ To run Windows workloads in your cluster, you must first install the Windows Mac
1010
.WMCO design
1111
image::wmco-design.png[WMCO workflow]
1212

13-
Before deploying Windows workloads, you must create a Windows compute node and have it join the cluster. The Windows node hosts the Windows workloads in a cluster, and can run alongside other Linux-based compute nodes. You can create a Windows compute node by creating a Windows machine set to host Windows Server compute machines. You must apply a Windows-specific label to the machine set that specifies a Windows OS image that has the Docker-formatted container runtime add-on enabled.
14-
15-
[IMPORTANT]
16-
====
17-
Currently, the Docker-formatted container runtime is used in Windows nodes. Kubernetes is deprecating Docker as a container runtime; you can reference the Kubernetes documentation for more information in link:https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/[Docker deprecation]. Containerd will be the new supported container runtime for Windows nodes in a future release of Kubernetes.
18-
====
13+
Before deploying Windows workloads, you must create a Windows compute node and have it join the cluster. The Windows node hosts the Windows workloads in a cluster, and can run alongside other Linux-based compute nodes. You can create a Windows compute node by creating a Windows machine set to host Windows Server compute machines. You must apply a Windows-specific label to the machine set that specifies a Windows OS image.
1914

2015
The WMCO watches for machines with the Windows label. After a Windows machine set is detected and its respective machines are provisioned, the WMCO configures the underlying Windows virtual machine (VM) so that it can join the cluster as a compute node.
2116

modules/wmco-upgrades.adoc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,23 @@
77

88
When a new version of the Windows Machine Config Operator (WMCO) is released that is compatible with the current cluster version, the Operator is upgraded based on the upgrade channel and subscription approval strategy it was installed with when using the Operator Lifecycle Manager (OLM). The WMCO upgrade results in the Kubernetes components in the Windows machine being upgraded.
99

10+
//the following paragraph and lists taken from https://github.com/openshift/enhancements/pull/962/files#diff-be9b7fd31ea4585b2c617aa51f14f35cb1212da129acf3455806aba6cddf782dR137
11+
Because WMCO 6.0.0 uses containerd as the default container runtime instead of Docker, note the following changes that are made during the upgrade:
12+
13+
* For nodes created using a machine set:
14+
** All `machine` objects are deleted, which results in the draining and deletion of any Windows nodes.
15+
** New Windows nodes are created.
16+
** The upgraded WMCO configures the new Windows nodes with containerd as the default runtime.
17+
** After the new Windows nodes join the {product-title} cluster, you can deploy pods on those nodes.
18+
19+
* For Bring-Your-Own-Host (BYOH) nodes:
20+
** The kubelet, kube-proxy, CNI, and the hybrid-overlay components, which were installed by the WMCO, are all uninstalled.
21+
** Any Windows OS-specific configurations that were created as part of configuring the instance, such as HNS networks, are deleted or reverted.
22+
** The WMCO installs containerd as the default runtime, and reinstalls the kubelet, kube-proxy, CNI, and hybrid-overlay components.
23+
** The kubelet service starts.
24+
** After the new Windows nodes join the {product-title} cluster, you can deploy pods on those nodes.
25+
** If any Docker service is present, it continues to run. Alternatively, you can manually uninstall Docker.
26+
1027
[NOTE]
1128
====
1229
If you are upgrading to a new version of the WMCO and want to use cluster monitoring, you must have the `openshift.io/cluster-monitoring=true` label present in the WMCO namespace. If you add the label to a pre-existing WMCO namespace, and there are already Windows nodes configured, restart the WMCO pod to allow monitoring graphs to display.

windows_containers/creating_windows_machinesets/creating-windows-machineset-aws.adoc

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,7 @@ You can create a Windows `MachineSet` object to serve a specific purpose in your
1212
== Prerequisites
1313

1414
* You installed the Windows Machine Config Operator (WMCO) using Operator Lifecycle Manager (OLM).
15-
* You are using a supported Windows Server as the operating system image with the Docker-formatted container runtime add-on enabled.
16-
17-
[IMPORTANT]
18-
====
19-
Currently, the Docker-formatted container runtime is used in Windows nodes. Kubernetes is deprecating Docker as a container runtime; you can reference the Kubernetes documentation for more information in link:https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/[Docker deprecation]. Containerd will be the new supported container runtime for Windows nodes in a future release of Kubernetes.
20-
====
15+
* You are using a supported Windows Server as the operating system image.
2116

2217
include::modules/machine-api-overview.adoc[leveloffset=+1]
2318
include::modules/windows-machineset-aws.adoc[leveloffset=+1]

windows_containers/creating_windows_machinesets/creating-windows-machineset-azure.adoc

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,7 @@ You can create a Windows `MachineSet` object to serve a specific purpose in your
1212
== Prerequisites
1313

1414
* You installed the Windows Machine Config Operator (WMCO) using Operator Lifecycle Manager (OLM).
15-
* You are using a supported Windows Server as the operating system image with the Docker-formatted container runtime add-on enabled.
16-
17-
[IMPORTANT]
18-
====
19-
Currently, the Docker-formatted container runtime is used in Windows nodes. Kubernetes is deprecating Docker as a container runtime; you can reference the Kubernetes documentation for more information in link:https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/[Docker deprecation]. Containerd will be the new supported container runtime for Windows nodes in a future release of Kubernetes.
20-
====
15+
* You are using a supported Windows Server as the operating system image.
2116

2217
include::modules/machine-api-overview.adoc[leveloffset=+1]
2318
include::modules/windows-machineset-azure.adoc[leveloffset=+1]

windows_containers/creating_windows_machinesets/creating-windows-machineset-vsphere.adoc

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,7 @@ You can create a Windows `MachineSet` object to serve a specific purpose in your
1212
== Prerequisites
1313

1414
* You installed the Windows Machine Config Operator (WMCO) using Operator Lifecycle Manager (OLM).
15-
* You are using a supported Windows Server as the operating system image with the Docker-formatted container runtime add-on enabled.
16-
17-
[IMPORTANT]
18-
====
19-
Currently, the Docker-formatted container runtime is used in Windows nodes. Kubernetes is deprecating Docker as a container runtime; you can reference the Kubernetes documentation for more information on link:https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/[Docker deprecation]. Containerd will be the new supported container runtime for Windows nodes in a future release of Kubernetes.
20-
====
15+
* You are using a supported Windows Server as the operating system image.
2116

2217
include::modules/machine-api-overview.adoc[leveloffset=+1]
2318

windows_containers/enabling-windows-container-workloads.adoc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Dual NIC is not supported on WMCO-managed Windows instances.
2828

2929
[NOTE]
3030
====
31-
The WMCO is not supported in clusters that use a xref:../networking/enable-cluster-wide-proxy.adoc#enable-cluster-wide-proxy[cluster-wide proxy] because the WMCO is not able to route traffic through the proxy connection for the workloads.
31+
Windows instances deployed by the WMCO are configured with the containerd container runtime. Because WMCO installs and manages the runtime, it is recommanded that you do not manually install containerd on nodes.
3232
====
3333

3434
[role="_additional-resources"]
@@ -40,6 +40,11 @@ The WMCO is not supported in clusters that use a xref:../networking/enable-clust
4040

4141
You can install the Windows Machine Config Operator using either the web console or OpenShift CLI (`oc`).
4242

43+
[NOTE]
44+
====
45+
The WMCO is not supported in clusters that use a xref:../networking/enable-cluster-wide-proxy.adoc#enable-cluster-wide-proxy[cluster-wide proxy] because the WMCO is not able to route traffic through the proxy connection for the workloads.
46+
====
47+
4348
include::modules/installing-wmco-using-web-console.adoc[leveloffset=+2]
4449

4550
include::modules/installing-wmco-using-cli.adoc[leveloffset=+2]

0 commit comments

Comments
 (0)