exec format error
MichaelMichaelMichaelMichaelMichael opened this issue · comments
Hi, I've deployed hello-kubernetes to a 4 node raspberry pi k3s cluster and I'm getting the following output:
$ kubectl get service hello-kubernetes-custom
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-kubernetes-custom LoadBalancer 10.43.27.83 <pending> 80:31288/TCP 13m
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
svclb-hello-kubernetes-custom-snkgf 0/1 Pending 0 13m
svclb-hello-kubernetes-custom-f44xh 0/1 Pending 0 13m
svclb-hello-kubernetes-custom-cghph 0/1 Pending 0 13m
svclb-hello-kubernetes-custom-kfqgg 0/1 Pending 0 13m
hello-kubernetes-custom-6468f86645-x98pq 0/1 CrashLoopBackOff 7 13m
hello-kubernetes-custom-6468f86645-mv2q6 0/1 CrashLoopBackOff 7 13m
hello-kubernetes-custom-6468f86645-gvwcd 0/1 CrashLoopBackOff 7 13m
$ kubectl logs svclb-hello-kubernetes-custom-snkgf
$ kubectl logs hello-kubernetes-custom-6468f86645-x98pq
standard_init_linux.go:211: exec user process caused "exec format error"
What could I look at in order to find out what's going wrong?
That's most probably because https://hub.docker.com/r/paulbouwer/hello-kubernetes/tags is for OS/ARCH linux/amd64
- which your raspberry pi k3s cluster is not... because that's ARM. Hope that makes sense. Have fun & best of luck.
That indeed makes sense, thanks for the explanation!
@MichaelMichaelMichaelMichaelMichael stay tuned. I've just started planning a multi-arch version of this image so that you can run it on linux/amd64
, linux/arm64
, and windows/amd64
.
Thanks for bringing this up - using this on a raspberry pi cluster validates my thinking for supporting arm
.
By the way, what Pi are you running on? Should this be supporting both linux/arm/v7
and linux/arm64
?
pi@ras0:/home/pi [0] > lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
pi@ras0:/home/pi [0] > uname -a
Linux ras0 5.4.51-v8+ #1333 SMP PREEMPT Mon Aug 10 16:58:35 BST 2020 aarch64 GNU/Linux
It's a Raspberry Pi 4. Meanwhile, I've added some Intel nuc bricks to that cluster, so for me, the docker buildx is taking the argument linux/x86_64,linux/arm64 in order to match both architectures. After a few weeks of training in kubernetes & docker, I come to the conclusion that having a mixed cluster brings many caveats to take care of when deploying my own apps and makes me learn that topic in depth.