问题描述
在用于安装 kubeadm 的官方 Kubernetes 文档中发现 here,它指出“如果检测到 Docker 和 containerd,则 Docker 优先”,如果在我的 Ubuntu 20.04 主机上,我已将 docker-ce docker-ce-cli containerd.io
安装为docker install documentation 建议,K8s 是直接与 containerd 组件通信还是仍然使用(即将在树 K8s 中弃用)dockershim 层?
如果是后者,我如何让 K8s 直接与 containerd 对话,同时让 docker cli 工具集在主机上仍然可用?
解决方法
这是基于评论中的解决方案的社区 wiki 答案,并发布以提高可见性。随意扩展它。
正如@mmking 已经提到的:如果您不指定运行时,则将选择 Docker。如果您想像 Initializing your control-plane node docs 中所述那样手动更改它,您可以在 --cri-socket
旁边使用 kubeadm init
:
(可选)从 1.14 版本开始,kubeadm 尝试检测容器
Linux 上的运行时使用众所周知的域套接字路径列表。到
使用不同的容器运行时或者如果有多个
安装在提供的节点上,指定 --cri-socket
参数
到 kubeadm init。