ARM-based servers are temporarily not supported. Due to significant declines in the availability and reliability of this server architecture, we can no longer recommend it. This is a temporary measure, and we will restore support once the situation improves. If your cluster already uses ARM-based nodes, follow the [Migrate ARM servers to x86](/docs/hetzner/apalla/servers-and-nodes/provision/migrate-arm-to-x86) guide to switch to x86 nodes. ## Introduction Servers with ARM processors offers cost optimization while retaining competitive performance when compared to x86 architecture servers, with greater efficiency for parallel workloads. Syself provides full [ARM support for Kubernetes nodes](/features/arm-support-kubernetes-nodes). If your workload supports the ARM architecture, it can be a great alternative to further improve the scalability and costs of your infrastructure. > [!NOTE] > Currently, only hcloud nodes are supported. If you wish to use ARM in bare-metal servers, please contact our support. ## Step 1: Adding node images ARM servers requires node images specifically built and optimized for their architecture. You need to add them to your HetznerClusterStackReleaseTemplate before using them in your clusters: ```yaml vars apiVersion: infrastructure.clusterstack.x-k8s.io/v1alpha1 kind: HetznerClusterStackReleaseTemplate metadata: name: hetzner-apalla-1-35 spec: template: spec: nodeImages: - controlplaneamd64hcloud - workeramd64hcloud - controlplanearm64hcloud - workerarm64hcloud ``` > [!TIP] > If you want to run a full ARM cluster, you can remove the amd64 node images. ## Step 2: Using ARM nodes Now you can add a new machine deployment with the `workerarm64hcloud` class and an ARM machine type, and set the appropriate variables if you wish to have ARM control planes: ```yaml vars apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: name: mycluster spec: clusterNetwork: services: cidrBlocks: ["10.128.0.0/12"] pods: cidrBlocks: ["192.168.0.0/16"] serviceDomain: "cluster.local" topology: classRef: name: hetzner-apalla-1-35-v4 version: v1.35.7 controlPlane: replicas: 3 workers: machineDeployments: - class: workeramd64hcloud name: md-0 replicas: 3 failureDomain: nbg1 variables: overrides: - name: workerMachineTypeHcloud value: cpx42 - class: workerarm64hcloud name: md-0 replicas: 3 failureDomain: nbg1 variables: overrides: - name: workerMachineTypeHcloud value: cax31 variables: - name: region value: nbg1 - name: controlPlaneMachineArchHcloud value: arm64 - name: controlPlaneMachineTypeHcloud value: cax31 ``` Supported ARM machine types are: | Type | | ----- | | CAX21 | | CAX31 | | CAX41 | For more information on Hetzner machine types, please visit the [Hetzner documentation](https://docs.hetzner.com/cloud/servers/overview/).