Found multiple CRI endpoints on the host. Please define which one do you wish to use by setting.....

1、报错信息
Found multiple CRI endpoints on the host. Please define which one do you wish to use by setting the 'criSocket' field in the kubeadm configuration file: unix:///var/run/containerd/containerd.sock, unix:///var/run/cri-dockerd.sock
To see the stack trace of this error execute with --v=5 or higher

报错信息截图: 

2、原因

没有整合kubelet和cri-dockerd

3、解决办法

在命令后面加上以下选项

--cri-socket unix:///var/run/cri-dockerd.sock

例: 

kubeadm init --kubernetes-version=v1.25.4 --pod-network-cidr=10.224.0.0/16 --apiserver-advertise-address=192.168.194.128 --image-repository registry.aliyuncs.com/google_containers --cri-socket=unix:///var/run/cri-dockerd.sock

创作不易,如果这篇文章对你有帮助,希望能点个赞帮助文章的推广,如果文章有错漏,希望各位能批评指正,谢谢大家。

### 多个CRI端点解决方案 当在主机上检测到多个容器运行时接口(Container Runtime Interface, CRI)端点时,通常是因为存在多种兼容的容器运行时环境。这可能导致Kubernetes无法正确识别应该使用的默认运行时。为了处理这种情况,可以采取以下措施: #### 1. 明确指定默认CRI插件 通过配置`/etc/containerd/config.toml`文件来设置默认的CRI插件。例如,在containerd环境中可以通过如下方式定义默认运行时[^1]: ```toml [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] runtime_type = "io.containerd.runc.v2" ``` 此操作确保仅有一个明确的运行时被选作主要执行者。 #### 2. 修改kubelet参数 如果系统中有多个cri-o或containerd服务正在运行,则需调整kubelet启动选项以指向特定的一个CRI实现。可通过编辑`/var/lib/kubelet/config.yaml`或者命令行参数加入下面的内容: ```yaml apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration cgroupDriver: systemd runtimeRequestTimeout: "15m" containerRuntimeEndpoint: unix:///run/containerd/containerd.sock imageServiceEndpoint: unix:///run/containerd/containerd.sock ``` 上述代码片段指定了kubelet应连接至哪个具体的socket地址作为其通信目标[^3]。 #### 3. 停用不必要的CRI服务 另一种方法是停用不需要的服务进程。比如如果有两个不同的docker daemon版本共存于同一台机器上,可以选择保留最新稳定版并停止旧版服务。 ```bash sudo systemctl stop docker.service sudo systemctl disable docker.service ``` 完成这些更改之后重启相关组件使改动生效,并验证问题是否得到解决。 ```bash sudo systemctl restart containerd sudo systemctl restart kubelet kubectl get nodes ``` 以上步骤有助于消除因多CRI端点引发的选择冲突状况。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值