- Home
- Configuration
- Child clusters
- Infrastructure options
- Update child cluster infrastructure
Update child cluster infrastructure#
Prior to MKE 4.2.1 it was necessary recreate a child cluster to change its infrastructure. Starting with MKE 4.2.1, though, MKE 4 supports infrastructure updates for existing AWS and vSphere child clusters. This includes such changes as resizing instances/VMs, updating disk sizes, changing the machine image/template, and rotating vSphere connection settings.
How infrastructure updates are made#
To make a change to the infrastructure of a child cluster, you update the
infrastructure configuration for the cluster and then reapply it. Under the
hood, MKE renders the updated infrastructure into the cluster CAPI
MachineTemplate. As MachineTemplates are immutable, any infrastructure changea
result in a new template and a subsequent rolling replacement of the
affected machines by CAPI, be it the control plane, workers, or both, depending
on what has been changed.
How infrastructure updates are applied#
Each provider derives its MachineTemplate name from a content hash of a specific
subset of infrastructure fields. Editing a field in that subset renames the
template, which causes CAPI to roll the affected machines, draining and
replacing them one at a time. Editing a field outside that subset leaves the
template name unchanged, so no rolling replacement occurs.
The control-plane template and the worker template hash different, but overlapping, subsets of fields. As a result, a given edit may roll the control plane only, the workers only, or both, depending on which subset the edited field belongs to.
infrastructure change rollout matrices#
AWS
| Field | Rollout scope |
|---|---|
infrastructure.controlPlane
|
Control plane |
infrastructure.worker
|
Workers |
infrastructure.publicIP |
Both (control plane and workers) |
infrastructure.regioninfrastructure.sshKeyNameinfrastructure.bastionclusterIdentity (top-level, outside infrastructure) |
No rolling replacement as these are not part of the template hash (cluster-wide settings; some may be immutable or have no effect on an existing cluster). |
vSphere
| Field | Rollout scope |
|---|---|
infrastructure.controlPlane
|
Control plane |
infrastructure.worker
|
Workers |
infrastructure.vsphere
|
Both (control plane and workers) |
infrastructure.nameservers |
Both (control plane and workers) |
infrastructure.ipamEnabled |
Both (control plane and workers) |
infrastructure.ipPool |
Both (control plane and workers) |
infrastructure.controlPlaneEndpointIP |
Immutable after creation. MKE rejects changes to this field on an existing child cluster. |