我正在尝试在s390x机器上设置Kubernetes。已下载特定于s390x体系结构的软件包kubeadm, kubectl and kubelet
。我的印象是kubeadm init
将下载相同体系结构的控制窗格图像,事实证明这是不正确的。
kubeadm初始化似乎已下载amd64
图像,这导致以下错误standard_init_linux.go:187: exec user process caused "exec format error
有人可以让我知道以下容器是否有s390x特定图像,如果是,请向我提供容器标签或指向其的链接
k8s.gcr.io/kube-apiserver:v1.17.2
k8s.gcr.io/kube-controller-manager:v1.17.2
k8s.gcr.io/kube-scheduler:v1.17.2
k8s.gcr.io/kube-proxy:v1.17.2
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.4.3-0
k8s.gcr.io/coredns:1.6.5
```编辑''
Resolved following with the below steps:
1) Downloaded the control pane images for s390x from k8s docker repository (kube-controller-manager-s390x:v1.17.2,, likewise)
2) Had to tag the images to kube-controller-manager:v1.17.2 , because kubeadm manifests looks for this name
3) initialized my cluster and there it is " Your Kubernetes control-plane has initialized successfully! "
从文档中我们可以阅读:
[kubeadm deb / rpm软件包和二进制文件是针对multi-platform proposal之后的amd64,arm(32位),arm64,ppc64le和s390x构建的。
从v1.12开始,还支持控制平面和附加组件的多平台容器图像。
[只有一些网络提供商为所有平台提供解决方案。请查阅上面的网络提供商列表或每个提供商的文档,以确定提供商是否支持您选择的平台。
s390x的回购可用here。
我认为遵循此指南适用于Installing Kubernetes 1.12 on SUSE Linux using kubeadm
解决问题:
下载特定于s390x的控制窗格容器(kube-controller-manager-s390x:v1.17.2等,]
kubeadm
查找名称的标签
运行kubeadm init
命令
更多详细信息,请参见kubernestes-for-s309x,kubeadm-s390x。
已通过以下步骤解决:
1)从k8s docker存储库下载了s390x的控制窗格图像(同样,kube-controller-manager-s390x:v1.17.2)2)必须将图像标记为kube-controller-manager:v1.17.2,因为kubeadm清单会查找该名称3)初始化了我的集群,它是“您的Kubernetes控制面板已成功初始化!”