【问题标题】:Kubernetes for i386 - Can't find binaries, can't compile (compile errors)Kubernetes for i386 - 找不到二进制文件,无法编译(编译错误)
【发布时间】:2023-04-02 00:35:01
【问题描述】:

大家好,感谢您的宝贵时间! ^_^

我目前正在用一台小型 64 位计算机和一些 32 位笔记本电脑构建一个集群。 64 位的 Kubernetes 可以正常工作,但我无法在 32 位机器上安装/编译 Kubernetes。

64 位机器: i3 - 8GB 内存 - 512GB SSD & 3TB HDD - CentOS 8 64bit (所有已安装和更新的东西:git、docker、kubernetes 等都在工作)。

32 位机器: Atom/P4 - 1-4GB 内存 - 256GB SSD(和 1TB 硬盘) - Centos 7 32bit//Ubuntu 16.04/18.04 32bit。 (git, make, (even) go-lang, docker 32bit

尝试过的事情:

  • 为 Kubernetes 搜索 32 位二进制文​​件,仅找到“kubectl”。
  • 尝试编译(新的)、'make release'、'make 386'、'make i386'、'make linux-386' - 不管我做什么,它们都不起作用。
  • 大量的 google 搜索、堆栈溢出、github 错误以及与人核对。
  • 阅读文档。

这些是我上次尝试的结果(文本(以便您可以复制/粘贴)和图片(因此具有格式和语法):

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

还有这个:

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

这些在以下 i386 机器上进行了尝试,结果相似:Ubuntu 16.04/18.04 // Centos 7 // VirtualBox with any OS (Cen/Ubu)。

任何帮助,任何人指出我正确的方向,将不胜感激。 谢谢各位!

【问题讨论】:

    标签: ubuntu kubernetes compilation 32-bit i386


    【解决方案1】:

    只要去这个地址:

    https://packages.debian.org/sid/i386/kubernetes-master/download

    在这里,您可以下载一个 .deb 文件,然后在从最近的服务器(在我的例子中是 CZ)下载后安装它,具体取决于您的位置。

    这是第一种情况。我强烈建议下载 .deb 文件,然后单击下载的文件,“Ubuntu 软件”将打开或通知您该应用程序已准备好安装。

    点击安装按钮,输入您的“root”密码,然后点击确定。

    您还可以将 http://ftp.[countrycode].... 添加到 sources.d 的列表中,在那里创建一个新的文本文件并添加以下行: 以deb http://ftp.de.debian.org/debian sid main 为例。

    为此建议您可以使用以下命令:

      1. /etc/apt/sources.list.d/ 中创建一个文本文件,命名为kubernetes 使用命令sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - 获取PGP 密钥
      1. /etc/apt/sources.list.d/ 中创建一个文本文件,将其命名为kubernetes
      1. $ sudo nano /etc/apt/sources.list.d/kubernetes
      1. 将行 apporoprite 添加到您的位置,例如 deb http://ftp.de.debian.org/debian sid main
      1. 然后执行 apt-get update 并从那里安装
      1. $ sudo apt-get install -y kuberlet kubeadm kuecrl kernetes-cni 等命令

    就是这样。

    【讨论】:

    • 谢谢你。我很高兴有人认为制作 32 位二进制文​​件会很有用(对于我们这些让旧计算机闲置的人)。也很高兴您找到了这些二进制文件并帮助了我们。最后我能够编译 i386 版本,它工作,但我必须重建整个事情,这次我将使用你的答案。非常感谢,非常感谢您的帮助。
    【解决方案2】:

    这是我对 VirtualBox debian 10.3.0 32bit 的体验:

    添加

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

    /etc/apt/sources.list
    

    然后

    apt-get update
    apt-get install kubernetes-master
    

    安装过程在配置阶段失败。

    为了解决我添加了

    ETCD_UNSUPPORTED_ARCH=386
    

    /etd/default/etcd
    

    一次又一次

    apt-get install kubernetes-master
    

    这次安装成功完成。 现在我可以使用以下命令:

    • kube-apiserver
    • kube-controller-manager
    • kubectl
    • kubelet
    • kube 代理
    • kube 调度器

    现在我要研究如何设置单节点集群(如 minikube)

    【讨论】:

    • 感谢您的信息,非常感谢! ^_^ 我会做一些测试,看看效果如何。 PS:我已经投票给你了,但我没有足够的声望,所以这次投票是可见的。
    猜你喜欢
    • 2014-08-23
    • 1970-01-01
    • 2013-08-26
    • 2012-08-08
    • 2016-02-07
    • 2011-04-14
    • 2013-01-03
    • 2017-07-29
    • 1970-01-01
    相关资源
    最近更新 更多