Supported services
These services can run on ARM64 nodes:api-gatewayfusion-indexingjob-configtemplating- The connectors services:
connector-plugin-service,rest-service, andrpc-service
Schedule services on ARM64 nodes
1
Create an ARM64 node pool
Add a node pool that uses an ARM64 machine type, such as Google Axion (C4A) on GKE or AWS Graviton on EKS.
Keep your existing amd64 node pools.
2
Taint the ARM64 nodes
Taint the ARM64 nodes so that only services you opt in can run on them:GKE adds this taint to ARM64 nodes automatically, so skip this step on GKE.
3
Opt services in to ARM64
In your custom values YAML file, add a If you use workload isolation, keep your existing
nodeSelector and a matching toleration for each supported service:fusion_node_type label in the nodeSelector and add kubernetes.io/arch next to it.4
Upgrade the release
Apply the values with
helm upgrade, then confirm where the pods landed:Because the ARM64 nodes are tainted, services without the toleration stay on amd64 nodes.
Without the taint, Kubernetes can schedule an amd64-only service on an ARM64 node, where its pod fails with an
exec format error.