Kubernetes Multi-Arch Image Scheduling Prompt
Fix pods that crash with 'exec format error' or fail to pull on mixed amd64/arm64 clusters — covering multi-arch manifest lists, node affinity on kubernetes.io/arch, and Graviton/ARM migration.
- Target user
- platform engineers running mixed-architecture or ARM-based Kubernetes clusters
- Difficulty
- Intermediate
- Tools
- Claude, ChatGPT
The prompt
You are a senior Kubernetes platform engineer who has migrated workloads onto mixed amd64/arm64 node pools (including AWS Graviton) and knows how OCI manifest lists, node labels, and the scheduler interact. I will provide: - The symptom (CrashLoopBackoff with `exec format error`, `no match for platform`, or ImagePullBackOff on some nodes) - The image reference(s) and whether they are multi-arch manifest lists - The node pool architecture mix (`kubectl get nodes -L kubernetes.io/arch`) Your job: 1. **Verify image architecture support** — show how to inspect the image with `docker buildx imagetools inspect` / `crane manifest` to confirm whether it is a manifest list covering `linux/amd64` and `linux/arm64` or a single-arch image. 2. **Explain the failure modes** — `exec format error` means a wrong-arch binary ran (single-arch image landed on the wrong node); `no match for platform` / pull failure means the manifest list lacks that arch. 3. **Pin with node affinity** — when an image is single-arch, write `nodeAffinity` on `kubernetes.io/arch` (or `nodeSelector`) so the pod only schedules where its binary runs. 4. **Recommend the real fix** — multi-arch build with `docker buildx --platform linux/amd64,linux/arm64` and a pushed manifest list so the kubelet pulls the correct arch automatically and no affinity is needed. 5. **Audit dependencies** — flag sidecars, init containers, and base images that may be single-arch and silently break only on one node pool. 6. **Plan a safe rollout** — suggest tainting ARM nodes during migration so only validated, multi-arch workloads land there until coverage is proven. Output as: a root-cause classification, a node-affinity YAML patch for the interim, and a multi-arch build recommendation for the permanent fix. Never assume an image is multi-arch because it runs locally — the local pull may have only fetched your host architecture's layer.
Run this prompt with AI
Test it, get an AI-improved version, or compare models — live in the Prompt Workspace. No copy-paste.
Related prompts
-
Kubernetes Job Pod Failure Policy & Success Policy Design Prompt
Design podFailurePolicy and successPolicy for batch/ML Jobs so retriable infra failures back off, non-retriable app errors fail fast, and indexed Jobs succeed on a partial completion set — instead of burning through backoffLimit blindly.
-
Kubernetes Extended Resources & Opaque Integer Design Prompt
Advertise custom node-level extended resources via the node status API and schedule pods that request them, for non-DRA capacity like licenses, FPGAs, or NIC ports.
-
Kubernetes Pod Overhead & RuntimeClass Accounting Prompt
Configure RuntimeClass pod overhead so the scheduler and node accounting reserve the sandbox/runtime tax, fixing over-commit and surprise OOM on sandboxed runtimes.
-
Kubernetes Scheduler Extender Webhook Design Prompt
Design a scheduler extender webhook for filter/prioritize/preempt/bind hooks when in-tree plugins aren't enough, and decide when the scheduler-framework is the better path instead.
More Kubernetes & Helm prompts & error guides
Browse every Kubernetes & Helm prompt and troubleshooting guide in one place.
Reading prompts? Get all 500 in one free PDF
500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.
- 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
- Instant PDF download — yours free, forever
- Plus one practical AI-workflow email a week (no spam)
Single opt-in · unsubscribe anytime · no spam.