我使用Docker版本20.10.22和Kubernates版本1.25.0 - 00。
我试着去理解kubernetes的建筑。
我在网上查了一下:
- The differences between Docker, containerd, CRI-O and runc
- How Kubernetes creates and runs containers: An illustrated guide
- Kubernetes Cluster Setup with Containerd
- Default CRI implementation and default CNI implementation in K8S
我了解到Docker附带的containerd版本与Kubernates附带的CRI-O不兼容。如果我理解正确的话,这是一个containerd版本的问题,"Docker containerd"的版本不完全符合OCI规范。
然后需要一个插件来允许Kubernates,* id Kubelet * 与Docker附带的containerd交互。
这个插件是cri-dockerd。
是这样吗?
1条答案
按热度按时间c2e8gylq1#
从Kubernetes 1.24开始,Dockershim不再是Kubernetes核心的组件。使用Docker构建的容器将继续像以前一样工作。但是,希望继续使用特定于群集的Docker功能的用户将需要切换到cri-dockerd适配器。
是的,你是对的,你需要使用cri-dockerd而不是dockershim,dockershim将被弃用。你可以使用下面的doc将docker引擎节点从dockershim迁移到cri-dockerd。
有关附加blog的更多信息,请参阅它。