kubesphere / kubekey

Install Kubernetes/K3s only, both Kubernetes/K3s and KubeSphere, and related cloud-native add-ons, it supports all-in-one, multi-node, and HA 🔥 ⎈ 🐳
https://kubesphere.io
Apache License 2.0
2.36k stars 550 forks source link

Huawei cloud ARM processor openeuler 20.09 installation error #561

Open mpv945 opened 3 years ago

mpv945 commented 3 years ago

Now ARM processor is more and more popular, we try a new way to deploy k8s, openeuler 20.09 + isula + arm. I hope the community can adapt

FeynmanZhou commented 3 years ago

Hi @mpv945 , thanks for your feedback.

Actually, we have tested and verified installing KubeSphere on openEuler 20.09 with the ARM processor. You can take a look at this post.

Please also paste the error log you got from the ks-installer so we can help you to locate the issue : )

mpv945 commented 3 years ago
no crontab for root
INFO[14:32:55 CST] Start to download images on all nodes        
[node1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.2
[master1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.2
[master1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/kube-apiserver:v1.20.4
[node1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/kube-proxy:v1.20.4
[master1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controller-manager:v1.20.4
[node1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/coredns:1.6.9
[master1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/kube-scheduler:v1.20.4
[node1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/k8s-dns-node-cache:1.15.12
[master1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/kube-proxy:v1.20.4
[node1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/cilium:v1.8.3
[master1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/coredns:1.6.9
[master1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/k8s-dns-node-cache:1.15.12
[master1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/cilium:v1.8.3
[node1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/operator-generic:v1.8.3
[master1] Downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/operator-generic:v1.8.3
INFO[14:33:45 CST] Generating etcd certs                        
INFO[14:33:46 CST] Synchronizing etcd certs                     
INFO[14:33:46 CST] Creating etcd service                        
Push /root/kubekey/v1.20.4/arm64/etcd-v3.4.13-linux-arm64.tar.gz to 192.168.0.135:/tmp/kubekey/etcd-v3.4.13-linux-arm64.tar.gz   Done
INFO[14:33:47 CST] Starting etcd cluster                        
[master1 192.168.0.135] MSG:
Configuration file will be created
INFO[14:33:47 CST] Refreshing etcd configuration                
[master1 192.168.0.135] MSG:
Created symlink /etc/systemd/system/multi-user.target.wants/etcd.service → /etc/systemd/system/etcd.service.
INFO[14:33:52 CST] Backup etcd data regularly                   
INFO[14:33:58 CST] Get cluster status                           
[master1 192.168.0.135] MSG:
Cluster will be created.
INFO[14:33:58 CST] Installing kube binaries                     
Push /root/kubekey/v1.20.4/arm64/kubeadm to 192.168.0.246:/tmp/kubekey/kubeadm   Done
Push /root/kubekey/v1.20.4/arm64/kubeadm to 192.168.0.135:/tmp/kubekey/kubeadm   Done
Push /root/kubekey/v1.20.4/arm64/kubelet to 192.168.0.135:/tmp/kubekey/kubelet   Done
Push /root/kubekey/v1.20.4/arm64/kubelet to 192.168.0.246:/tmp/kubekey/kubelet   Done
Push /root/kubekey/v1.20.4/arm64/kubectl to 192.168.0.246:/tmp/kubekey/kubectl   Done
Push /root/kubekey/v1.20.4/arm64/kubectl to 192.168.0.135:/tmp/kubekey/kubectl   Done
Push /root/kubekey/v1.20.4/arm64/helm to 192.168.0.135:/tmp/kubekey/helm   Done
Push /root/kubekey/v1.20.4/arm64/helm to 192.168.0.246:/tmp/kubekey/helm   Done
Push /root/kubekey/v1.20.4/arm64/cni-plugins-linux-arm64-v0.8.6.tgz to 192.168.0.246:/tmp/kubekey/cni-plugins-linux-arm64-v0.8.6.tgz   Done
Push /root/kubekey/v1.20.4/arm64/cni-plugins-linux-arm64-v0.8.6.tgz to 192.168.0.135:/tmp/kubekey/cni-plugins-linux-arm64-v0.8.6.tgz   Done
INFO[14:34:02 CST] Initializing kubernetes cluster              
[master1 192.168.0.135] MSG:
[preflight] Running pre-flight checks
W0616 14:34:02.546509   13600 removeetcdmember.go:79] [reset] No kubeadm config, using etcd pod spec to get data directory
[reset] No etcd config found. Assuming external etcd
[reset] Please, manually reset etcd to prevent further issues
[reset] Stopping the kubelet service
[reset] Unmounting mounted directories in "/var/lib/kubelet"
W0616 14:34:02.553436   13600 cleanupnode.go:99] [reset] Failed to evaluate the "/var/lib/kubelet" directory. Skipping its unmount and cleanup: lstat /var/lib/kubelet: no such file or directory
W0616 14:34:02.553505   13600 cleanupnode.go:81] [reset] Failed to remove containers: docker is required for container runtime: exec: "docker": executable file not found in $PATH
[reset] Deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] Deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
[reset] Deleting contents of stateful directories: [/var/lib/dockershim /var/run/kubernetes /var/lib/cni]

The reset process does not clean CNI configuration. To do so, you must remove /etc/cni/net.d

The reset process does not reset or clean up iptables rules or IPVS tables.
If you wish to reset iptables, you must do so manually by using the "iptables" command.

If your cluster was setup to utilize IPVS, run ipvsadm --clear (or similar)
to reset your system's IPVS tables.

The reset process does not clean your kubeconfig files and you must remove them manually.
Please, check the contents of the $HOME/.kube/config file.
[master1 192.168.0.135] MSG:
[preflight] Running pre-flight checks
W0616 14:34:02.853561   13726 removeetcdmember.go:79] [reset] No kubeadm config, using etcd pod spec to get data directory
[reset] No etcd config found. Assuming external etcd
[reset] Please, manually reset etcd to prevent further issues
[reset] Stopping the kubelet service
[reset] Unmounting mounted directories in "/var/lib/kubelet"
W0616 14:34:02.860564   13726 cleanupnode.go:99] [reset] Failed to evaluate the "/var/lib/kubelet" directory. Skipping its unmount and cleanup: lstat /var/lib/kubelet: no such file or directory
W0616 14:34:02.860611   13726 cleanupnode.go:81] [reset] Failed to remove containers: docker is required for container runtime: exec: "docker": executable file not found in $PATH
[reset] Deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] Deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
[reset] Deleting contents of stateful directories: [/var/lib/dockershim /var/run/kubernetes /var/lib/cni]

The reset process does not clean CNI configuration. To do so, you must remove /etc/cni/net.d

The reset process does not reset or clean up iptables rules or IPVS tables.
If you wish to reset iptables, you must do so manually by using the "iptables" command.

If your cluster was setup to utilize IPVS, run ipvsadm --clear (or similar)
to reset your system's IPVS tables.

The reset process does not clean your kubeconfig files and you must remove them manually.
Please, check the contents of the $HOME/.kube/config file.
ERRO[14:34:03 CST] Failed to init kubernetes cluster: Failed to exec command: sudo env PATH=$PATH /bin/sh -c "/usr/local/bin/kubeadm init --config=/etc/kubernetes/kubeadm-config.yaml --ignore-preflight-errors=FileExisting-crictl" 
W0616 14:34:02.955948   13782 utils.go:69] The recommended value for "clusterDNS" in "KubeletConfiguration" is: [10.233.0.10]; the provided value is: [169.254.25.10]
[init] Using Kubernetes version: v1.20.4
[preflight] Running pre-flight checks
[preflight] WARNING: Couldn't create the interface used for talking to the container runtime: crictl is required for container runtime: exec: "crictl": executable file not found in $PATH
        [WARNING FileExisting-crictl]: crictl not found in system path
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
error execution phase preflight: crictl is required for container runtime: exec: "crictl": executable file not found in $PATH
To see the stack trace of this error execute with --v=5 or higher: Process exited with status 1  node=192.168.0.135
WARN[14:34:03 CST] Task failed ...                              
WARN[14:34:03 CST] error: interrupted by error                  
Error: Failed to init kubernetes cluster: interrupted by error
Usage:
  kk create cluster [flags]

Flags:
      --download-cmd string      The user defined command to download the necessary binary files. The first param '%s' is output path, the second param '%s', is the URL (default "curl -L -o %s %s")
  -f, --filename string          Path to a configuration file
  -h, --help                     help for cluster
      --skip-pull-images         Skip pre pull images
      --with-kubernetes string   Specify a supported version of kubernetes (default "v1.19.8")
      --with-kubesphere          Deploy a specific version of kubesphere (default v3.1.0)
      --with-local-storage       Deploy a local PV provisioner
  -y, --yes                      Skip pre-check of the installation

Global Flags:
      --debug        Print detailed information (default true)
      --in-cluster   Running inside the cluster

Failed to init kubernetes cluster: interrupted by error
pixiake commented 3 years ago
error execution phase preflight: crictl is required for container runtime: exec: "crictl": executable file not found in $PATH

It appears that kubeadm cannot find crictl in the system env $PATH.