failed to run Kubelet: validate service connection: CRI v1 runtime API is not implemented for endpoint

发布时间 2023-05-26 11:17:03作者: 这些年来

kubelet 1.27.0

ubuntu  20.04.6

kubeadm init ..... 异常

 

zxnl@zxnl-VirtuaBox:~# kubeadm init \
>  --image-repository registry.aliyuncs.com/google_containers \
>  --kubernetes-version v1.27.0 \
>  --pod-network-cidr=192.168.0.0/16 \
>  --apiserver-advertise-address=192.168.56.2
[init] Using Kubernetes version: v1.27.0
[preflight] Running pre-flight checks
error execution phase preflight: [preflight] Some fatal errors occurred:
    [ERROR CRI]: container runtime is not running: output: time="2023-05-26T10:34:14+08:00" level=fatal msg="validate service connection: CRI v1 runtime API is not implemented for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService"
, error: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher

 

解决办法

  通过下载和替换二进制文件手动将 containerd 升级到 1.6 或更高版本

wget https://github.com/containerd/containerd/releases/download/v1.6.12/containerd-1.6.12-linux-amd64.tar.gz
tar xvf containerd-1.6.12-linux-amd64.tar.gz
systemctl stop containerd
cd bin
cp * /usr/bin/
systemctl start containerd