Rke 不支持在arm64 安装v1.23.6-rancher1-1

RKE 版本:
v1.3.11
Docker 版本: (docker version,docker info)
Client:
Version: 20.10.7
API version: 1.41
Go version: go1.13.15
Git commit: f0df350
Built: Wed Jun 2 11:53:09 2021
OS/Arch: linux/arm64
Context: default
Experimental: true

Server: Docker Engine - Community
Engine:
Version: 20.10.7
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: b0f5bc3
Built: Wed Jun 2 11:57:00 2021
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: v1.4.6
GitCommit: d71fcd7d8303cbf684402823e425e9dd2e99285d
runc:
Version: 1.0.0-rc3
GitCommit: fabf83fd21f205c801571df4074024179eb03b44
docker-init:
Version: 0.19.0
GitCommit: de40ad0
操作系统和内核: (cat /etc/os-release, uname -r)
4.19.90-24.4.v2101.ky10.aarch64

主机类型和供应商: (VirtualBox/Bare-metal/AWS/GCE/DO)

cluster.yml 文件:

nodes:
  - address: xxxx
    user: root
    role: ["controlplane", "etcd", "worker"]
    ssh_key_path: /root/.ssh/id_rsa
    port: 22
services:
  kube-api:
    # 为NodePort服务提供不同的端口范围
    service_node_port_range: 20000-32767


network:
  plugin: flannel
cluster_name: cluster01

重现步骤:

./rke up -config cluster.yml

INFO[0000] Running RKE version: v1.3.11                 
INFO[0000] Initiating Kubernetes cluster                
INFO[0000] [dialer] Setup tunnel for host [xxxxxx] 
INFO[0000] Checking if container [cluster-state-deployer] is running on host [xxxxxx], try #1 
INFO[0000] Image [rancher/rke-tools:v0.1.80] exists on host [xxxxxx] 
INFO[0000] Starting container [cluster-state-deployer] on host [xxxxxx], try #1 
INFO[0001] [state] Successfully started [cluster-state-deployer] container on host [xxxxxx] 
INFO[0001] [certificates] Generating CA kubernetes certificates 
INFO[0002] [certificates] Generating Kubernetes API server aggregation layer requestheader client CA certificates 
INFO[0003] [certificates] GenerateServingCertificate is disabled, checking if there are unused kubelet certificates 
INFO[0003] [certificates] Generating Kubernetes API server certificates 
INFO[0004] [certificates] Generating Service account token key 
INFO[0004] [certificates] Generating Kube Controller certificates 
INFO[0004] [certificates] Generating Kube Scheduler certificates 
INFO[0004] [certificates] Generating Kube Proxy certificates 
INFO[0005] [certificates] Generating Node certificate   
INFO[0005] [certificates] Generating admin certificates and kubeconfig 
INFO[0006] [certificates] Generating Kubernetes API server proxy client certificates 
INFO[0006] [certificates] Generating kube-etcd-10-81-133-1 certificate and key 
INFO[0007] Successfully Deployed state file at [./cluster.rkestate] 
INFO[0007] Building Kubernetes cluster                  
INFO[0007] [dialer] Setup tunnel for host [xxxxxx] 
INFO[0007] [network] Deploying port listener containers 
INFO[0007] Image [rancher/rke-tools:v0.1.80] exists on host [xxxxxx] 
INFO[0007] Starting container [rke-etcd-port-listener] on host [xxxxxx], try #1 
INFO[0008] [network] Successfully started [rke-etcd-port-listener] container on host [xxxxxx] 
INFO[0008] Image [rancher/rke-tools:v0.1.80] exists on host [xxxxxx] 
INFO[0008] Starting container [rke-cp-port-listener] on host [xxxxxx], try #1 
INFO[0009] [network] Successfully started [rke-cp-port-listener] container on host [xxxxxx] 
INFO[0009] Image [rancher/rke-tools:v0.1.80] exists on host [xxxxxx] 
INFO[0009] Starting container [rke-worker-port-listener] on host [xxxxxx], try #1 
INFO[0010] [network] Successfully started [rke-worker-port-listener] container on host [xxxxxx] 
INFO[0010] [network] Port listener containers deployed successfully 
INFO[0010] [network] Running control plane -> etcd port checks 
INFO[0010] [network] Checking if host [xxxxxx] can connect to host(s) [xxxxxx] on port(s) [2379], try #1 
INFO[0010] Image [rancher/rke-tools:v0.1.80] exists on host [xxxxxx] 
INFO[0010] Starting container [rke-port-checker] on host [xxxxxx], try #1 
INFO[0010] [network] Successfully started [rke-port-checker] container on host [xxxxxx] 
INFO[0010] Removing container [rke-port-checker] on host [xxxxxx], try #1 
INFO[0015] [network] Checking if host [xxxxxx] can connect to host(s) [xxxxxx] on port(s) [2379], try #2 
INFO[0015] Image [rancher/rke-tools:v0.1.80] exists on host [xxxxxx] 
INFO[0016] Starting container [rke-port-checker] on host [xxxxxx], try #1 
INFO[0016] [network] Successfully started [rke-port-checker] container on host [xxxxxx] 
INFO[0016] Removing container [rke-port-checker] on host [xxxxxx], try #1 
INFO[0021] [network] Checking if host [xxxxxx] can connect to host(s) [xxxxxx] on port(s) [2379], try #3 
INFO[0021] Image [rancher/rke-tools:v0.1.80] exists on host [xxxxxx] 
INFO[0021] Starting container [rke-port-checker] on host [xxxxxx], try #1 
INFO[0022] [network] Successfully started [rke-port-checker] container on host [xxxxxx] 
INFO[0022] Removing container [rke-port-checker] on host [xxxxxx], try #1 
FATA[0027] [[network] Host [xxxxxx] is not able to connect to the following ports: [standard_init_linux.go:220: exec user process caused "exec format error", libcontainer: container start initialization failed: standard_init_linux.go:220: exec user process caused "exec format error"]. Please check network policies and firewall rules] 

结果:

rke 肯定是支持 arm64 的,这个我在 aws 上的 arm64 主机上做过测试,但你使用的银河麒麟V10上我没测试过,不确定会不会有问题,从你的日志:exec format error 中可以粗略判断,你拉取的镜像是 x86的,所以没起来。