首页 > 解决方案 > cri-o 套接字 (crio.sock) 与 dockershim 套接字 (dockershim.sock)

问题描述

我对 Kubernetes 非常陌生,并试图了解 crio 与 dockershim 之间的区别。

我正在阅读有关如何安装 kubernetes 的手册,我看到建议将 crio 作为一个步骤(请参阅链接)Container runtimes/cri-o

然而,当我第一次尝试启动试验时,我更加困惑,我看到默认情况下 kubernetes 使用另一个 cri 工具(dockershim)作为默认 cri 工具,请参见链接crictl/General usage

我的问题是是否值得通过 CRI-O 的安装程序?我在 centos7 (1.15.1-2.el7) 的最新可用版本中发现了错误。

我还测试了 crio-v1.18.0 并且错误似乎已修复,但在这种情况下,似乎 CRI-O 在使用私有 repo 拉取试点图像时可以连接到端口 10248。

有人可以分享一下吗?尝试修复这些错误是否值得,或者我在这方面花费了太多时间?

标签: kubernetescri-o

解决方案


Kubelet(Kubernetes 的节点守护进程)通过Container Runtime Interface与运行在节点上的容器运行时通信。dockershim,以及crio实现 CRI,并充当运行时和 kubelet 之间的连接器,但它们引用不同的容器运行时。

  • dockershim是 kubelet 和 docker 之间的连接
  • crio是符合 OCI 规范的 kubelet 和运行时之间的连接器(例如:runc)

有很多方法可以设置容器运行时。各种 kubernetes 发行版都使用各种容器运行时作为它们的默认值(例如,Google Kubernetes Engine 在我上次尝试时使用 containerD-shim 安装了 containerD 运行时)

我想说,如果你想开始使用 Kubernetes 并希望它稳定,你应该先从 docker 开始(使用 dockershim 作为 CRI 连接器)。这是使用 K8S 最常用的测试方式。


推荐阅读