kubernetes: Incorrect etcd image config for linux/arm64
It looks like config blob inside arm64 version of k8s.gcr.io/etcd:3.4.13-0 has "architecture": "amd64" instead of "architecture": "arm64"
➜ ~ curl -L k8s.gcr.io/v2/etcd/manifests/3.4.13-0
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
"manifests": [
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1372,
"digest": "sha256:bd4d2c9a19be8a492bc79df53eee199fd04b415e9993eb69f7718052602a147a",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1372,
"digest": "sha256:4cadaf5f37998d038861c66215809eee8316c7604934e03dd86015a0f6704cd3",
"platform": {
"architecture": "arm",
"os": "linux"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1372,
"digest": "sha256:cab4dc43598ed9b5c6a524dfea1abf4772a5e164c330451e5ca2635a95675aa8",
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1373,
"digest": "sha256:03d9db03b83a5991ede76dd53e19a1e46e6bf3c498ae8ace2e1be8f3d1d03ad6",
"platform": {
"architecture": "ppc64le",
"os": "linux"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1372,
"digest": "sha256:dd9baad37b716232a737cd781cf65ceb9f7c541264cdde9ad3870d84e8644a49",
"platform": {
"architecture": "s390x",
"os": "linux"
}
}
]
}%
➜ ~ curl -L k8s.gcr.io/v2/etcd/manifests/sha256:cab4dc43598ed9b5c6a524dfea1abf4772a5e164c330451e5ca2635a95675aa8
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"config": {
"mediaType": "application/vnd.docker.container.image.v1+json",
"size": 2929,
"digest": "sha256:05b738aa1bc6355db8a2ee8639f3631b908286e43f584a3d2ee0c472de033c28"
},
"layers": [
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 639412,
"digest": "sha256:4000adbbc3eb1099e3a263c418f7c1d7def1fa2de0ae00ba48245cda9389c823"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 962465,
"digest": "sha256:c01a58061c3de2ebe6e61222afcf73ec28cfa2f64788bcf6beed9e06ced5d70a"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 122578700,
"digest": "sha256:7e982895c1fce6598d3ae953ac54ceac9f9846ff1ae4101d8f885b6400a8d92a"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 1090470,
"digest": "sha256:3c187ad2b50e732c3d1aceb28f94c6358711e99b85ddd6c976b0d882c7cb24df"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 9254541,
"digest": "sha256:aedf218301234b573821148738d44bf450f16e33d7f33b671c7a068f74d8b10b"
}
]
}%
➜ ~ curl -L k8s.gcr.io/v2/etcd/blobs/sha256:05b738aa1bc6355db8a2ee8639f3631b908286e43f584a3d2ee0c472de033c28 | jq
{
"architecture": "amd64",
"config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"2379/tcp": {},
"2380/tcp": {},
"4001/tcp": {},
"7001/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt",
"ETCD_UNSUPPORTED_ARCH=arm64"
],
"Cmd": null,
"Image": "sha256:3cd4c7a04b04c476e23baac9d8b497467f13e5c6f86b16ebda9ae8edbb0186ed",
"Volumes": null,
"WorkingDir": "/",
"Entrypoint": null,
"OnBuild": null,
"Labels": null
},
"container": "9ed40c528a69f165979a3e257649bfc174f947ac28189577913449b5edfd9e89",
"container_config": {
"Hostname": "9ed40c528a69",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"2379/tcp": {},
"2380/tcp": {},
"4001/tcp": {},
"7001/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt",
"ETCD_UNSUPPORTED_ARCH=arm64"
],
"Cmd": [
"/bin/sh",
"-c",
"#(nop) ",
"ENV ETCD_UNSUPPORTED_ARCH=arm64"
],
"Image": "sha256:3cd4c7a04b04c476e23baac9d8b497467f13e5c6f86b16ebda9ae8edbb0186ed",
"Volumes": null,
"WorkingDir": "/",
"Entrypoint": null,
"OnBuild": null,
"Labels": {}
},
"created": "2020-08-27T13:54:20.043362298Z",
"docker_version": "19.03.8",
...
note "architecture": "amd64", line
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 15 (8 by maintainers)
added e2e test to catch this as a warning: https://github.com/kubernetes/kubeadm/pull/2397
once https://github.com/kubernetes/kubernetes/issues/98908 is done it can be an error (e.g. for 1.21+ only).
partial logs from the updated test: https://pastebin.com/bS7ug0dS
line of interest is:
@BenTheElder Got it. Thanks!
We don’t mutate existing image tags and we don’t tend to backport changes in build tools, but in 1.21 the core components built from source in this repo (kube-proxy, not coredns / etcd) should be built without this error. https://github.com/kubernetes/kubernetes/issues/98908