k8s初始化时候,报错无法通过 CRI(容器运行时接口)与 containerd 通信

报错主要信息处
[reset] Unmounting mounted directories in “/var/lib/kubelet”
W0513 11:34:19.818023 27124 cleanupnode.go:134] [reset] Failed to evaluate the “/var/lib/kubelet” directory. Skipping its unmount and cleanup: lstat /var/lib/kubelet: no such file or directory
W0513 11:34:19.837582 27124 cleanupnode.go:99] [reset] Failed to remove containers: output: time=“2025-05-13T11:34:19+08:00” level=fatal msg=“validate service connection: validate CRI v1 runtime API for endpoint “unix:///run/containerd/containerd.sock”: rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService”
, error: exit status 1
[reset] Deleting contents of 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]

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.
11:34:19 CST message: [node1]
init kubernetes cluster failed: Failed to exec command: sudo -E /bin/bash -c “/usr/local/bin/kubeadm init --config=/etc/kubernetes/kubeadm-config.yaml --ignore-preflight-errors=FileExisting-crictl,ImagePull”
W0513 11:34:19.641213 27083 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.26.0
[preflight] Running pre-flight checks
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR CRI]: container runtime is not running: output: time=“2025-05-13T11:34:19+08:00” level=fatal msg=“validate service connection: validate CRI v1 runtime API for endpoint “unix:///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: Process exited with status 1
11:34:19 CST retry: [node1]

主要错误处:
[ERROR CRI]: container runtime is not running:
rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService

这说明 kubeadm 无法通过 CRI(容器运行时接口)与 containerd 通信,因为缺少了正确的服务实现,通常这是由于 containerd 的配置不兼容或者 containerd 安装得不完整。

首先确定containerd 配置正确启用了 CRI 插件,sudo cat /etc/containerd/config.toml | grep -A 5 “[plugins.“io.containerd.grpc.v1.cri”]”
在这里插入图片描述
查看不到没有

重新生成
sudo mv /etc/containerd/config.toml /etc/containerd/config.toml.bak
sudo containerd config default | sudo tee /etc/containerd/config.toml
在这里插入图片描述
重启
sudo systemctl restart containerd

查看验证
sudo ctr plugins ls | grep cri
在这里插入图片描述
在这里插入图片描述
再次初始化集群就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值