Failed Pods When Using Graviton
Problem
After migrating workloads to AWS Graviton (ARM64), several pods entered CrashLoopBackOff.
This is critical because API and worker services become unstable and may drop jobs/requests.
Environment
- Platform: AWS EKS
- Architecture: mixed x86_64 and ARM64 (Graviton)
- Namespace impact:
hungryhub,inventory,kube-system,utility - Region / EKS version / node type: fill in from the affected cluster runbook before incident closure
Expected vs actual behavior
- Expected: pods should remain
Runningand pass readiness checks. - Actual: multiple pods restarted repeatedly and showed
CrashLoopBackOff.
Symptoms
# Example command
kubectl get pods -A
Common pattern observed:
- Some pods run normally on one node group.
- The same deployment crashes on another node group.
- Restarts increase quickly (
CrashLoopBackOff).
Diagnosis steps
- Identify failing pods:
kubectl get pods -A | grep CrashLoopBackOff
- Check logs:
kubectl logs <pod> -n <namespace> --previous
- Check events:
kubectl describe pod <pod> -n <namespace>
- Validate image architecture:
- Confirm image supports
linux/arm64.
- Confirm image supports
- Check node architecture:
kubectl get nodes -o wide
- Verify native dependencies (gems/libs/binaries) are ARM-compatible.
Likely causes
- Container image built only for
amd64. - Native gem/library incompatibility on
arm64. - Startup command depends on binaries unavailable in ARM image.
- Misconfigured nodeSelector/affinity scheduling pods to unsupported nodes.
Resolution
- Build and push multi-arch images (
amd64+arm64). - Pin unsupported workloads temporarily to
amd64node group. - Rebuild native dependencies in ARM-compatible base image.
- Redeploy and monitor restart count for at least 30 minutes.
Reproduction notes
- Deploy a service image without ARM build to a Graviton node pool.
- Observe pod status transitions to
CrashLoopBackOff.
Metadata to record in incident report
- Failure start timestamp
- Affected namespaces/deployments
- Error signatures from logs
- Node architecture mapping
- Fix commit / image tag used