karmada: docker image is not support for arm platform

What happened: I ran hack/remote-up-karmada.sh on my mac(M1 chip) with podman + KIND running.

After few minutes,script failed and reports:

kubectl wait --for=condition=Ready --timeout=30s pods -l app=karmada-aggregated-apiserver -n karmada-system failed, retrying(10 times)
kubectl wait --for=condition=Ready --timeout=30s pods -l app=karmada-aggregated-apiserver -n karmada-system failed
timed out waiting for the condition on pods/karmada-aggregated-apiserver-7b88b8df99-dnf2z
timed out waiting for the condition on pods/karmada-aggregated-apiserver-7b88b8df99-wd9hm
➜  kubectl -n karmada-system get po
NAME                                              READY   STATUS             RESTARTS   AGE
etcd-0                                            1/1     Running            0          12h
karmada-aggregated-apiserver-7b88b8df99-dnf2z     0/1     CrashLoopBackOff   148        12h
karmada-aggregated-apiserver-7b88b8df99-wd9hm     0/1     CrashLoopBackOff   148        12h
karmada-apiserver-7cb659497-rfzwc                 1/1     Running            0          12h
karmada-kube-controller-manager-5c6767d78-wdcgv   1/1     Running            0          12h

finally, i found than karmada-aggregated-apiserver image is only for linux/amd64, not supported for linux/arm64

➜  kubectl -n karmada-system logs --tail 10 karmada-aggregated-apiserver-7b88b8df99-dnf2z
standard_init_linux.go:228: exec user process caused: exec format error
root@kind-control-plane:/# ctr -n k8s.io i ls | grep karmada-aggregated-apiserver
swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-aggregated-apiserver:latest                                                                    application/vnd.docker.distribution.manifest.v2+json      sha256:2e4fcdf209336b287d36f55fcee51993624cfeb0c464eb46ba240d51d7b4bc5a 31.3 MiB  linux/amd64                                                                              io.cri-containerd.image=managed
swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-aggregated-apiserver@sha256:2e4fcdf209336b287d36f55fcee51993624cfeb0c464eb46ba240d51d7b4bc5a   application/vnd.docker.distribution.manifest.v2+json      sha256:2e4fcdf209336b287d36f55fcee51993624cfeb0c464eb46ba240d51d7b4bc5a 31.3 MiB  linux/amd64

Could you provide karmada-aggregated-apiserver with arm supported on huawei cloud registry?

What you expected to happen: karmada-aggregated-apiserver run successfully on M1 mac.

How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?:

Environment:

  • Karmada version: master
  • kubectl-karmada or karmadactl version (the result of kubectl-karmada version or karmadactl version):
  • Others:

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 21 (19 by maintainers)

Most upvoted comments

I rebuild on my mac, and it works!

And file the executable, shows:

karmada-aggregated-apiserver: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, Go BuildID=hrHtQdk6-wvGu_g2gS7G/A34zPRaMI7ENhsnogTHe/vz9oZSZF4izH_ONRorsj/FXJtWxyZBETAJ1_DyOUZ, not stripped

So did you forget add GOARCH=arm64 when build for arm?