记录解决containerd安装K8S出现“As the default settings are now deprecated, you should set the endpoint inste”

编程入门 行业动态 更新时间:2024-10-21 13:22:51

记录解决containerd安装K8S出现“As the <a href=https://www.elefans.com/category/jswz/34/1769873.html style=default settings are now deprecated, you should set the endpoint inste”"/>

记录解决containerd安装K8S出现“As the default settings are now deprecated, you should set the endpoint inste”

当你使用contained方式安装K8S出现以下问题时:

[root@node4 yum.repos.d]# crictl pull nginx:alpine
WARN[0000] image connect using default endpoints: [unix:///var/run/dockershim.sock unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock]. As the default settings are now deprecated, you should set the endpoint instead. 
ERRO[0000] unable to determine image API version: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/dockershim.sock: connect: no such file or directory" 
Image is up to date for sha256:804f9cebfdc58964d6b25527e53802a3527a9ee880e082dc5b19a3d5466c43b7
[root@node4 yum.repos.d]# crictl images
WARN[0000] image connect using default endpoints: [unix:///var/run/dockershim.sock unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock]. As the default settings are now deprecated, you should set the endpoint instead. 
ERRO[0000] unable to determine image API version: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/dockershim.sock: connect: no such file or directory" 
IMAGE                     TAG                 IMAGE ID            SIZE
docker.io/library/nginx   alpine              804f9cebfdc58       10.2MB

翻译过来就是:

ARN[0000] 映像使用默认端点进行连接:[unix:///var/run/dockershim.sock 
unix:///run/containerd/containerd.sock 
unix:///run/crio/crio.sock 
unix:///var/run/cri-dockerd.sock]。由于默认设置现已弃用,因此应改为设置终结点。
ERRO[0000] 无法确定映像 API 版本: rpc 错误: 代码 = 不可用 desc = 连接错误:desc = “传输: 拨号盘 unix /var/run/dockershim.sock 时出错: 连接: 没有这样的文件或目录”

这里做个crictl的简单解释:
我们使用containerd方式安装K8S,crictl工具作为镜像管理的客户端工具
crictl 是 CRI 兼容的容器运行时命令行接口。 可以通过 crictl 在Kubernetes节点检查( inspect )和debug容器runtime和应用程序。
crictl 和它的源代码在 cri-tools 代码库。

我自己使用contained的方式安装K8S集群,就出现以上的那张错误。
经过检查,我发现我配置crictl的配置文件内容没有问题:

[root@node4 yum.repos.d]# cat /etc/crictl.yal 
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false

解决办法:创建/etc/crictl.yaml 文件,并且写入下面内容

而出错的原因竟然是:我把哪个crictl的配置文件后缀写成了yml,我本来以为写的都是yaml语法格式而且yml也是大部分可以作为yaml文件后缀的,但是在安装K8S的时候是不算的,必须严格按照yaml的后缀写:

[root@node4 yum.repos.d]# mv /etc/crictl.yml  /etc/crictl.yaml 
[root@node4 yum.repos.d]# crictl images
IMAGE                     TAG                 IMAGE ID            SIZE
docker.io/library/nginx   alpine              804f9cebfdc58       10.2MB
#

所以,现在就算解决一个错误了。

相关链接:
.html
.html#:~:text=crictl%20%E5%91%BD%E4%BB%A4%E9%BB%98%E8%AE%A4%E8%BF%9E%E6%8E%A5%E5%88%B0%20unix%3A%2F%2F%2Fvar%2Frun%2Fdockershim.sock%20%E5%A6%82%E6%9E%9C%E8%A6%81%E8%BF%9E%E6%8E%A5%E5%88%B0%E5%85%B6%E4%BB%96runtimes%EF%BC%8C%E9%9C%80%E8%A6%81%E8%AE%BE%E7%BD%AE%20endpoint%3A%20%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0,–runtime-endpoint%20%E5%92%8C%20–image-endpoint%20%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%AE%BE%E7%BD%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%20CONTAINER_RUNTIME_ENDPOINT%20%E5%92%8C%20CONTAINER_RUNTIME_ENDPOINT

更多推荐

记录解决containerd安装K8S出现“As the default settings are now deprecated, you should set

本文发布于:2024-02-06 11:10:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1748382.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:default   settings   containerd   K8S   endpoint

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!