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)

Most upvoted comments

@24sama I use the containerd 1.4.12 to make artifact and artifact image push .It works