Skip to content

Commit df1d938

Browse files
Add a note about WMCO kubelet dependency
1 parent 0dc40f9 commit df1d938

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

enhancements/machine-api/out-of-tree-provider-support.md

+15-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ approvers:
2222
- "@mrunalp"
2323
- "@sttts"
2424
creation-date: 2020-08-31
25-
last-updated: 2021-06-29
25+
last-updated: 2021-07-14
2626
status: implementable
2727
replaces:
2828
superseded-by:
@@ -203,7 +203,20 @@ Without this information, the `scheduler` cannot schedule `Pods` that have any s
203203
To ensure that cluster disaster recovery procedures can still operate smoothly, we will ensure that core control plane components and their operators tolerate the uninitialized taint, to prevent `CCM` blocking new control plane hosts being added if `CCM` is non-functional.
204204
This will include, but is not limited to: Kube Controller Manager, Etcd, Kube API Server, Networking, Cluster Machine Approver.
205205

206-
*Note: Windows Machine Config Operator (WMCO) manages `kubelet` configuration for Windows nodes, for which described changes in this chapter would still apply.*
206+
#### Windows Machine Config Operator
207+
208+
##### Kubelet Changes
209+
210+
To generate the configuration for Windows nodes, `WMCO` reads the output of MCO's rendered configuration as a basis for its own config for Kubelet on the Windows node.
211+
As we are making changes to the output of the Kubelet service in `MCO` (namely change the value of the `cloud-provider` flag), we will need to verify that `WMCO` reads this flag and copies its value to the Kubelet Windows service.
212+
213+
##### Node Initialization
214+
215+
On most platforms, `Node` initialization is handled centrally by the `CCM`, specifically the Cloud Node Manager (`CNM`) running within it.
216+
However, On certain platforms (e.g. Azure), the `CNM` must be run on the `Node` itself, typically via a `DaemonSet`.
217+
Since Red Hat cannot supply or support Windows container images, we cannot run a `DaemonSet` for the `CNM` targeted at Windows Nodes as we would do on Linux Nodes.
218+
Instead, we must adapt the `WMCO` to, on these particular platforms, deploy a new Windows service that runs the `CNM` on the `Node`.
219+
This pattern is already in place for other components that are required to run on the host (eg `CNI` and Kube-Proxy), so we will be able to reuse the existing pattern to add support for `CNM` on platforms that require a `CNM` per host.
207220

208221
##### Example flag changes for kubelet
209222

0 commit comments

Comments
 (0)