Arm workloads on GKE

This document explains how to run Arm workloads on Google Kubernetes Engine (GKE). You can run Arm workloads in the following ways:

  • GKE Autopilot mode: on the Autopilot container-optimized compute platform, explicitly request the Arm architecture and the autopilot-arm ComputeClass for general-purpose workloads. To request specific hardware, use the Performance or Scale-Out compute classes.
  • GKE Standard mode: using the C4A, N4A, or Tau T2A machine series.

You can run single-architecture Arm images or multi-architecture (multi-arch) images compatible with both x86 and Arm processors. To learn about the benefits of Arm, see Arm VMs on Compute.

Run Arm workloads on GKE

See the following for more information about choosing workloads to deploy on Arm and preparing those workloads for deployment:

  • Choosing workloads to run on Arm: Consider the benefits of the following options when choosing workloads to run on Arm:

    • Autopilot container-optimized compute platform: Recommended for general-purpose Arm workloads in Autopilot clusters, providing Pod-based billing and elasticity without requiring you to manage specific machine types.
    • Specific machine families: For workloads requiring specific hardware characteristics, consider the following machine types. For more information, see the table in General-purpose machine family for Compute Engine:

      • C4A nodes provide Arm-based compute which achieves consistently high performance for your most performance-sensitive Arm-based workloads.
      • N4A nodes provide Arm-based compute that balances price and performance.
      • T2A nodes are appropriate for more-flexible workloads, or workloads which rely on horizontal scale-out.
  • Deploying across architectures: With GKE, you can use multi-arch images to deploy one image manifest across nodes with different architectures, including Arm.

  • Preparing Arm workloads for deployment: Once you have an Arm-compatible image, use node affinity rules and node selectors to make sure your workload is scheduled to nodes with a compatible architecture type.

Requirements and limitations

What's next