Kubernetes for i386 - Can't find binaries, can't compile (compile errors)

12/24/2019

Hi everyone and thank you for your time! ^_^

I'm currently building a cluster with a small 64bit computer and some 32bit laptops. The 64 bit works fine with kubernetes, but I cannot install/compile kubernetes on the 32 bit machines.

64 bit machine: i3 - 8GB ram - 512GB SSD & 3TB HDD - CentOS 8 64bit (everything installed and updated: git, docker, kubernetes, etc. and working).

32 bit machines: Atom/P4 - 1-4GB ram - 256GB SSD (& 1TB HDD) - Centos 7 32bit//Ubuntu 16.04/18.04 32bit. (git, make, (even) go-lang, docker 32bit <-- All working. But...)

Things tried:

  • Searched for 32bit binaries for kubernetes, found only 'kubectl'.
  • Tried compiling (new at this), 'make release', 'make 386', 'make i386', 'make linux-386' - It doesn't matter what I do, none of them work.
  • Lot's of google searches, stack overflow, github bugs, and checking with people.
  • Reading documentation.

These are the results of my last try (text (so you can copy/paste) & picture (so it would have format and syntax):

root@web3:/var/tmp/test1/kubernetes# build/run.sh make linux/386
 +++ [1221 12:37:58] Verifying Prerequisites....
 +++ [1221 12:37:59] Building Docker image kube-build:build-d2d69ed013-5-v1.13.4-1
 +++ Docker build command failed for kube-build:build-d2d69ed013-5-v1.13.4-1

 Sending build context to Docker daemon  10.75kB Step 1/16 : FROM
 k8s.gcr.io/kube-cross:v1.13.4-1  ---> cb825830a0c3 Step 2/16 : RUN
 touch /kube-build-image  ---> Running in 3a6491869df9
 standard_init_linux.go:211: exec user process caused "exec format
 error" The command '/bin/sh -c touch /kube-build-image' returned a
 non-zero code: 1

 To retry manually, run:

 docker build -t kube-build:build-d2d69ed013-5-v1.13.4-1 --pull=false
 /var/tmp/test1/kubernetes/_output/images/kube-build:build-d2d69ed013-5-v1.13.4-1

 !!! [1221 12:38:03] Call tree: !!! [1221 12:38:03]  1: build/run.sh:31
 kube::build::build_image(...) !!! Error in
 build/../build/common.sh:431   Error in build/../build/common.sh:431.
 '((i<3-1))' exited with status 1 Call stack:   1:
 build/../build/common.sh:431 kube::build::build_image(...)   2:
 build/run.sh:31 main(...) Exiting with status 1

Screen output 1

And this one:

root@web3:/var/tmp/test1/kubernetes#  make release KUBE_BUILD_PLATFORMS=linux/386`

 +++ [1221 12:38:41] Verifying Prerequisites....
 +++ [1221 12:38:42] Building Docker image kube-build:build-d2d69ed013-5-v1.13.4-1
 +++ Docker build command failed for kube-build:build-d2d69ed013-5-v1.13.4-1

 Sending build context to Docker daemon  10.75kB Step 1/16 : FROM
 k8s.gcr.io/kube-cross:v1.13.4-1  ---> cb825830a0c3 Step 2/16 : RUN
 touch /kube-build-image  ---> Running in ae4aa5d46d3b
 standard_init_linux.go:211: exec user process caused "exec format
 error" The command '/bin/sh -c touch /kube-build-image' returned a
 non-zero code: 1

 To retry manually, run:

 docker build -t kube-build:build-d2d69ed013-5-v1.13.4-1 --pull=false
 /var/tmp/test1/kubernetes/_output/images/kube-build:build-d2d69ed013-5-v1.13.4-1

 !!! [1221 12:38:46] Call tree: !!! [1221 12:38:46]  1:
 build/release.sh:35 kube::build::build_image(...) Makefile:405: recipe
 for target 'release' failed make: *** [release] Error 1

Screen output 2

These were tried on the following i386 machines with similar results: Ubuntu 16.04/18.04 // Centos 7 // VirtualBox with either OS (Cen/Ubu).

Any help, anyone pointing me to the right direction, it would be appreciated. Thank you guys!

-- DIYTony
32-bit
compilation
i386
kubernetes
ubuntu

1 Answer

4/10/2020

this is my experience with my VirtualBox debian 10.3.0 32bit:

added

deb http://ftp.de.debian.org/debian/ sid main

in

/etc/apt/sources.list

then

apt-get update
apt-get install kubernetes-master

the installation process failed in the configuration phase.

To solve I added

ETCD_UNSUPPORTED_ARCH=386

in

/etd/default/etcd

and again

apt-get install kubernetes-master

this time the installation complete with success. Now I have the following commands available:

  • kube-apiserver
  • kube-controller-manager
  • kubectl
  • kubelet
  • kube-proxy
  • kube-scheduler

Now I’ve to investigate how setup a single node cluster (like minikube)

-- bartsimp
Source: StackOverflow