This guide explains how to replace ARM-based (CAX) nodes in your cluster with x86 nodes.
Do not change the class of an existing machine deployment in-place. Instead, add a new machine deployment with the workeramd64hcloud class and set the replicas of the ARM machine deployment to 0 .
workerMachineTypeHcloud can be set at the cluster level under spec.topology.variables as well as inside a machine deployment's variables.overrides . Check both and update them wherever a CAX type appears:
Under spec.topology.variables :
In the machine deployments — scale down the ARM deployment, add a new x86 one:
Wait for the new x86 nodes to become ready and for the ARM nodes to be fully removed before continuing.
Once the ARM machine deployment has no nodes remaining, remove it from your Cluster resource:
If your control plane runs on ARM servers, your cluster variables will include controlPlaneMachineArchHcloud: arm64 and a CAX server type for controlPlaneMachineTypeHcloud .
If you do not have controlPlaneMachineArchHcloud in your cluster variables, your control plane is already using x86 and no changes are needed here.
Do not change the number of control plane replicas while any control plane nodes are running on ARM. Our recommendation is to not touch replicas at all until the migration is complete.
Before making any changes, verify that the number of control plane nodes currently running matches the number defined in your Cluster resource.
In your workload cluster, count the ready control plane nodes:
In the management cluster, check the defined replica count:
If the counts match, you can proceed with the change below.
If the counts do not match, it means some ARM control plane nodes were already removed by the health check and could not be replaced due to unavailable ARM servers. Please contact support and still proceed with the change as switching to x86 will allow the missing nodes to be provisioned.
Change the architecture to amd64 and the server type to an x86 type. Do not change replicas .
These variables can be set in two locations in your Cluster resource. Check both and update them wherever they appear:
Under spec.topology.variables :
Under spec.topology.controlPlane.variables.overrides :
After applying all changes, verify that no CAX server types remain by checking the spec.type field of the HCloudMachine objects:
Once no CAX server types appear in the output, the migration is complete and you can proceed with your cluster update.