kubekey: arm64 images import failed
What is version of KubeKey has the issue?
version.BuildInfo{Version:“2.0.0”, GitCommit:“ff9d30b7”, GitTreeState:“”, GoVersion:“go1.17.7”}
What is your os environment?
ubuntu 20.04
KubeKey config file
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Manifest
metadata:
name: kubekey
spec:
arches: # Define the architecture that will be included in the artifact.
- arm64
operatingSystems: # Define the operating system that will be included in the artifact.
kubernetesDistributions: # Define the kubernetes distribution that will be included in the artifact.
- type: kubernetes
version: v1.21.5
components:
helm:
version: v3.6.3
cni:
version: v0.9.1
etcd:
version: v3.4.13
## For now, if your cluster container runtime is containerd, KubeKey will add a docker 20.10.8 container runtime in the below list.
## The reason is KubeKey creates a cluster with containerd by installing a docker first and making kubelet connect the socket file of containerd which docker contained.
containerRuntimes:
- type: docker
version: 20.10.8
crictl:
version: v1.22.0
## The following components define the private registry files that will be included in the artifact.
docker-registry:
version: "2"
#harbor:
# version: v2.4.1
docker-compose:
version: v2.2.2
## Define the images that will be included in the artifact.
## When you generate this file using KubeKey, all the images contained on the cluster hosts will be automatically added.
## Of course, you can also modify this list of images manually.
images:
#calico
- docker.io/calico/cni:v3.20.0
- docker.io/calico/kube-controllers:v3.20.0
- docker.io/calico/node:v3.20.0
- docker.io/calico/pod2daemon-flexvol:v3.20.0
#k8s
- docker.io/coredns/coredns:1.8.0
- docker.io/kubesphere/k8s-dns-node-cache:1.15.12
- docker.io/kubesphere/kube-apiserver:v1.21.5
- docker.io/kubesphere/kube-controller-manager:v1.21.5
- docker.io/kubesphere/kube-proxy:v1.21.5
- docker.io/kubesphere/kube-scheduler:v1.21.5
- docker.io/kubesphere/pause:3.4.1
#addons
#- registry.cn-beijing.aliyuncs.com/kubesphereio/haproxy:2.3
- k8s.gcr.io/metrics-server/metrics-server:v0.6.1
- docker.io/kubernetesui/metrics-scraper:v1.0.7
- docker.io/kubernetesui/dashboard:v2.5.1
- docker.io/grafana/grafana:8.3.5
- quay.io/kiwigrid/k8s-sidecar:1.15.1
- k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.3.0
- quay.io/prometheus/node-exporter:v1.3.1
- quay.io/prometheus-operator/prometheus-operator:v0.54.0
- quay.io/prometheus-operator/prometheus-config-reloader:v0.54.0
- quay.io/prometheus/prometheus:v2.33.1
## Define the authentication information if you need to pull images from a registry that requires authorization.
registry:
auths:
#plainHTTP: false # If the registry is serving for http request, set this to true.
A clear and concise description of what happend.
I try to make the artifact in an arm64 machine.
# lscpu
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: ARM
Model: 1
Model name: Neoverse-N1
Stepping: r3p1
BogoMIPS: 50.00
NUMA node0 CPU(s): 0-3
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
after export artifact, I try to import the manually
# cat test
images/docker.io#calico#cni:v3.20.0.tar
images/docker.io#calico#kube-controllers:v3.20.0.tar
images/docker.io#calico#node:v3.20.0.tar
images/docker.io#calico#pod2daemon-flexvol:v3.20.0.tar
images/docker.io#coredns#coredns:1.8.0.tar
images/docker.io#grafana#grafana:8.3.5.tar
images/docker.io#kubernetesui#dashboard:v2.5.1.tar
images/docker.io#kubernetesui#metrics-scraper:v1.0.7.tar
images/docker.io#kubesphere#k8s-dns-node-cache:1.15.12.tar
images/docker.io#kubesphere#kube-apiserver:v1.21.5.tar
images/docker.io#kubesphere#kube-controller-manager:v1.21.5.tar
images/docker.io#kubesphere#kube-proxy:v1.21.5.tar
images/docker.io#kubesphere#kube-scheduler:v1.21.5.tar
images/docker.io#kubesphere#pause:3.4.1.tar
images/k8s.gcr.io#kube-state-metrics#kube-state-metrics:v2.3.0.tar
images/k8s.gcr.io#metrics-server#metrics-server:v0.6.1.tar
images/quay.io#kiwigrid#k8s-sidecar:1.15.1.tar
images/quay.io#prometheus#node-exporter:v1.3.1.tar
images/quay.io#prometheus#prometheus:v2.33.1.tar
images/quay.io#prometheus-operator#prometheus-config-reloader:v0.54.0.tar
images/quay.io#prometheus-operator#prometheus-operator:v0.54.0.tar
then
# for i in `cat test` ; do ctr i import kubekey/artifact/${i} ;done
ctr: content digest sha256:c3ffb2a18d66dd5cea9ce7948f64d54d6eb28622a4d8ac149f2d4dc878734c1b: not found
ctr: content digest sha256:5b25f82c08f5258c3addcc08f354211502750c5aed54eb54f9ebf46bbaa0496b: not found
ctr: content digest sha256:86a1e7b6f3daca4a9fa8269ec124194a30e649158b2a2ff71a97025a6eb2ab8f: not found
ctr: content digest sha256:457839c041f767c05a388c8efd427ba04c37d266152d47e15e58990f199d17bd: not found
ctr: content digest sha256:3bf466c28bbd8075d57f6201d9a8615a22c928ee6e0e7cbbea68233fcc2d65c3: not found
ctr: content digest sha256:88a3b03beaf6feba9b24e88e62a73763b2101a6f27be72fb19f295844204ee61: not found
ctr: content digest sha256:07ac8306fc68efab33a57d2d35702188de69a3bea99bac4346cb64ab894cffb5: not found
ctr: content digest sha256:3104b6af71d1ab9ca91ab2949395557dca49fdf11a1bdcceb8e87afc9e879995: not found
unpacking docker.io/kubesphere/k8s-dns-node-cache:1.15.12 (sha256:3b55377cd3b8098a79dc3f276cc542a681e3f2b71554addac9a603cc65e4829e)...done
ctr: content digest sha256:2bedad00d83974749741c22b7612edb7d12147cb7341716607d9a813151e1aad: not found
ctr: content digest sha256:dcdd1a9e711eee1d4631e1a0739aef50e2f7149d761afbd88433de167d83d943: not found
ctr: content digest sha256:ef1d8e163ebb2fbbbbc7f89c4b1d225e904565c88403db7f66b8fc1156fe38aa: not found
ctr: content digest sha256:ab2c8b7794128b57aec307382099893d9b7fde94316df0d17626bf22f854f020: not found
ctr: content digest sha256:7e75794fddb9fd40d97beda78e59d52dc36a19f4eac4907ba7c223c33411f9b3: not found
ctr: content digest sha256:031231fb09509365e945881a2bbf7c3021efe306a9fb6c1c3699e82810cbb7c9: not found
ctr: content digest sha256:32b768f58c270cd69a3195f5490f8d6dac4c9fca25142850873d5928211e33af: not found
ctr: content digest sha256:70c511f31e5d1fb122a842a87b306575374ff579b7efe67080096532f3e04327: not found
ctr: content digest sha256:7ece447732a47b5fe6a32ed62947e9dce9a1a0a68870e2c46cb6fa8c03af7cd6: not found
ctr: content digest sha256:b5be803035d3a3fce9b217ae0eac0ccd4fed3eebba195d92dd4b031a14303f7e: not found
ctr: content digest sha256:5bc9a1b823180ce93b4b5e7b91e062b790ba9126228e4c3c42139749dea0d243: not found
ctr: content digest sha256:56c6d46432ce1ec1447abedbdac20a40c91fa73451ed944c8fbbb07a13c50c1c: not found
What is the correct way to make the arm64 artifact?
Relevant log output
No response
Additional information
No response
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 15 (1 by maintainers)
@24sama I use the
containerd 1.4.12tomake artifactandartifact image push.It works