-
Notifications
You must be signed in to change notification settings - Fork 20
Description
Feature Request: ARM64 (aarch64) Container Image Support
Problem Statement
The current gcr.io/trafficdirector-prod/td-grpc-bootstrap container images (versions 0.16.0, 0.17.0, 0.18.0) only support linux/amd64 architecture. This prevents users from running Traffic Director-enabled workloads on ARM64 nodes, such as:
- GKE Autopilot with Arm-based workloads
- GKE Standard clusters with C4A (Axion) or N4A (Ampere Altra) machine types
- Cost optimization initiatives leveraging ARM64's ~50% lower compute costs
Current Behavior
When attempting to run the init container on ARM64 nodes:
exec /td-grpc-bootstrap: exec format errorExample deployment configuration:
initContainers:
- name: grpc-td-init
image: gcr.io/trafficdirector-prod/td-grpc-bootstrap:0.18.0
# Fails on arm64 nodes with exec format errorExpected Behavior
The td-grpc-bootstrap image should be published as a multi-architecture image supporting both:
linux/amd64linux/arm64
This would allow Kubernetes to automatically pull the correct architecture based on the node type.
Use Case
We are migrating GKE workloads to ARM64 (C4A/N4A) instances for cost reduction. Our services use Traffic Director for service mesh capabilities, but the migration is blocked because the bootstrap init container cannot run on ARM64 nodes.
Proposed Solution
- Build
td-grpc-bootstrapfor both amd64 and arm64 architectures - Publish as a multi-arch Docker manifest
- Ensure future releases include both architectures
Additional Context
- GKE machine types using ARM64: C4A (Axion), N4A (Ampere Altra)
- Many GCP customers are adopting ARM64 for cost savings
- Other GCP tools already support multi-arch (e.g., many Cloud SDK containers)
Workaround Attempts
Currently, there is no viable workaround besides:
- Staying on x86 nodes (missing out on cost savings)
- Not using Traffic Director (requires architecture changes)
Would appreciate any timeline or roadmap information for ARM64 support.
Environment:
- GKE Version: 1.33+
- td-grpc-bootstrap versions tested: 0.16.0, 0.17.0, 0.18.0
- Node architecture: arm64 (C4A, N4A)