I have been trying to bring up a kubernetes cluster with master on ubuntu (laptop) and worker node on pi3 using kubedm.
All the installations on both machines went well. After running:
kubeadm init --ignore-preflight-errors Swap --pod-network-cidr=10.244.0.0/16
and setting up flannel:
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
Master node comes up perfectly.
However when I run the kubeadm join command, the worker node shows successfully joined but the weave-net and kube-proxy throws CrashLoopBackOff
kubeadm join 192.168.1.103:6443 --token <<token value>> --discovery-token-ca-cert-hash sha256:<<hash value>>
Worker node has joined the cluster:
CrashLoopBackOff Error:
and kube-proxy logs:
kubectl -n kube-system logs kube-proxy-8ffsh
gives standard_init_linux.go:190: exec user process caused "exec format error"
Can somebody please help as to where the problem could be? Any help is appreciated.
In theory, everything is almost ready for clouds in the future - mixed environments of ARM computing instances and amd64 compatible architecture for managing purposes. Moreover, golang seamlessly produces binaries for the ARM, so I was thinking that it is out-of-the-box and one step forward to personal clouds at home. But nope.
You probably faced the problem with executing x64 binaries or shared modules like networking on ARM compute node or vice versa.
As far as I know for this particular moment, the running Kubernetes and the related products like Rancher are not working as expected in the mixed environment.
Even if you buy enterprise VPS/bare metal with Docker built for ARM's, cluster will not work when mixed with another architecture.
You need to be patient for a while and consider compiling/building every module and helper by yourself from the source codes, especially for the ARM side. It may help. It is a hard candy and consumes a lot of time due to limited ARM performance.
Another solution is to have local registries with any required dockers images preinstalled to avoid pulling them from another (default) registries.