kubernetes: coreDNS image reports the wrong architecture

What happened?

The docker images for linux/arm64 wrongly report their architecture as amd64. This issue affects at least the v1.8.6 and v1.9.3 of the coredns images.

What did you expect to happen?

Expected the arm64 version of the image to correctly report its architecture as arm64.

How can we reproduce it (as minimally and precisely as possible)?

1) Pull the image, specifying the linux/arm64 platform.

> docker pull --platform linux/arm64 registry.k8s.io/coredns/coredns:v1.8.6

v1.8.6: Pulling from coredns/coredns
Digest: sha256:5b6ec0d6de9baaf3e92d0f66cd96a25b9edbce8716f5f15dcd1a616b3abd590e
Status: Image is up to date for registry.k8s.io/coredns/coredns:v1.8.6
registry.k8s.io/coredns/coredns:v1.8.6

2) Inspect the image for the digest linked to the specified platform.

> docker inspect -f '{{.Architecture}}' registry.k8s.io/coredns/coredns:v1.8.6@sha256:5b6ec0d6de9baaf3e92d0f66cd96a25b9edbce8716f5f15dcd1a616b3abd590e

amd64

The above images is not showing the correct architecture.

Note that this issue is sometimes silent when using MacOS as the platform does support running amd64 images. e.g. kind can create a working cluster even with the wrong image arch. However, using e.g. kind load will fail as there is an architecture check when this command is run.

Anything else we need to know?

No response

Kubernetes version

N/A

Cloud provider

OS version

N/A

Install tools

Container runtime (CRI) and version (if applicable)

Related plugins (CNI, CSI, …) and versions (if applicable)

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 17 (10 by maintainers)

Most upvoted comments

However, using e.g. kind load will fail as there is an architecture check when this command is run.

That is actually fixed in the latest release (v0.17, released last week at KubeCon)

https://github.com/kubernetes-sigs/kind/releases/tag/v0.17.0

I think this issue is related to coredns/coredns#5363.

Yes, should be resolved after next version of CoreDNS is released, and Kubernetes adopts that release.

There are no plans in CoreDNS project to re-package existing release images/manifests or release patched versions of prior releases.