You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: enhancements/machine-api/out-of-tree-provider-support.md
+15-2
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ approvers:
22
22
- "@mrunalp"
23
23
- "@sttts"
24
24
creation-date: 2020-08-31
25
-
last-updated: 2021-06-29
25
+
last-updated: 2021-07-14
26
26
status: implementable
27
27
replaces:
28
28
superseded-by:
@@ -203,7 +203,20 @@ Without this information, the `scheduler` cannot schedule `Pods` that have any s
203
203
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.
204
204
This will include, but is not limited to: Kube Controller Manager, Etcd, Kube API Server, Networking, Cluster Machine Approver.
205
205
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.
0 commit comments