Skip to content

CoreDNS v1.14.3 image on is amd64-only #9509

@hakman

Description

@hakman

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions