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: docs/book/src/tasks/experimental-features/machineset-preflight-checks.md
+20-5
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,8 @@ Enabling `MachineSetPreflightChecks` provides safety in such circumstances by ma
18
18
19
19
### `ControlPlaneIsStable`
20
20
21
-
* This preflight check ensures that the ControlPlane is currently stable i.e. the ControlPlane is currently neither provisioning, upgrading nor pending an upgrade.
21
+
* This preflight check ensures that the ControlPlane is currently stable i.e. the ControlPlane is currently neither provisioning, upgrading.
22
+
* For Clusters with a managed topology it also checks if a control plane upgrade is pending.
22
23
* This preflight check is only performed if:
23
24
* The Cluster uses a ControlPlane provider.
24
25
* ControlPlane version is defined (`ControlPlane.spec.version` is set).
@@ -40,11 +41,25 @@ Enabling `MachineSetPreflightChecks` provides safety in such circumstances by ma
40
41
* MachineSet version is defined (`MachineSet.spec.template.spec.version` is set).
41
42
* MachineSet uses the `Kubeadm` Bootstrap provider.
42
43
43
-
##Opting out of PreflightChecks
44
+
### `ControlPlaneVersionSkew`
44
45
45
-
Once the feature flag is enabled the preflight checks are enabled for all the MachineSets including new and existing MachineSets.
46
-
It is possible to opt-out of one or all of the preflight checks on a per MachineSet basis by specifying a comma-separated list of the preflight checks on the
47
-
`machineset.cluster.x-k8s.io/skip-preflight-checks` annotation on the MachineSet.
46
+
* This preflight check ensures that the MachineSet and the ControlPlane have the same version. The idea behind this
47
+
check is that it doesn't make sense to create a Machine with an old version, if we already know based on the control
48
+
plane version that the Machine has to be replaced soon.
49
+
* This preflight check is only performed if:
50
+
* The Cluster has a managed topology
51
+
* The Cluster uses a ControlPlane provider.
52
+
* ControlPlane version is defined (`ControlPlane.spec.version` is set).
53
+
* MachineSet version is defined (`MachineSet.spec.template.spec.version` is set).
54
+
55
+
## Configuring MachineSet PreflightChecks
56
+
57
+
Per default all preflight checks are enabled for all MachineSets including new and existing MachineSets.
58
+
The enabled preflight checks can be overwritten with the `--machineset-preflight-checks` command-line flag.
59
+
60
+
It is also possible to opt-out of one or all of the preflight checks on a per MachineSet basis by specifying a
61
+
comma-separated list of the preflight checks via the `machineset.cluster.x-k8s.io/skip-preflight-checks` annotation
62
+
on the MachineSet.
48
63
49
64
Examples:
50
65
* To opt out of all the preflight checks set the `machineset.cluster.x-k8s.io/skip-preflight-checks: All` annotation.
returnptr.To(fmt.Sprintf("MachineSet version (%s) is not yet the same as the ControlPlane version (%s), waiting for version to be propagated to the MachineSet (%q preflight check failed)", msVersion, cpVersion, clusterv1.MachineSetPreflightCheckControlPlaneVersionSkew))
0 commit comments