ITADN

CoreDNS v1.14.3 image on is amd64-only

#9509Openhakman 创建于 2026-05-19
H
hakmancommented
`registry.k8s.io/coredns/coredns:v1.14.3` was promoted as a **single `linux/amd64` image manifest** instead of a multi-arch manifest list. On any non-amd64 host the CoreDNS container fails to start: ``` exec /coredns: exec format error ``` This breaks arm64/arm/ppc64le/s390x/riscv64 consumers of the image (kubeadm clusters, kOps, etc.) — CoreDNS goes CrashLoopBackOff and cluster DNS is down. ### Evidence | Image | Media type | Platforms | |---|---|---| | `registry.k8s.io/coredns/coredns:v1.14.3` | `manifest.v2+json` (single) | **amd64 only** ❌ | | `registry.k8s.io/coredns/coredns:v1.14.2` | `manifest.list.v2+json` | all 6 ✅ | | `gcr.io/k8s-staging-coredns/coredns:v1.14.3` | `manifest.list.v2+json` | all 6 ✅ | | `docker.io/coredns/coredns:1.14.3` | `manifest.list.v2+json` | all 6 ✅ | ``` $ crane manifest registry.k8s.io/coredns/coredns:v1.14.3 | jq .mediaType "application/vnd.docker.distribution.manifest.v2+json" # single amd64 manifest $ crane manifest gcr.io/k8s-staging-coredns/coredns:v1.14.3 | jq .mediaType "application/vnd.docker.distribution.manifest.list.v2+json" # correct multi-arch list ``` - Promoted (broken) digest: `sha256:884b72dd6d2f7d367902af420605e0288dffedb0516ce29330423ae3f8f5c6fa` — the `linux/amd64` child manifest - Correct manifest-list digest (staging + Docker Hub): `sha256:b21d26b915e10acb5bc78715c1e8b6047ab2675389b2bcc18b3a6499d90e74c0` ### Root cause The build/staging image is fine — the multi-arch list exists in `gcr.io/k8s-staging-coredns`. The promotion PR #9395 recorded the **amd64 child digest** in `images.yaml` rather than the index digest, so the promoter copied only the amd64 manifest. ### Attempts to fix The in-place fix was attempted in #9421 and closed, `registry.k8s.io` tags are immutable and the promoter will not re-point an already-promoted tag (per @dims). A new version tag is the only way to land a correct multi-arch image on `registry.k8s.io`.
1 条评论