是否可以将 microk8s 设置为使用 docker 引擎而不是 containerd?

Is it possible to set microk8s to use docker engine instead of containerd?

首先,我不是容器编排工具方面的专家

我刚刚根据指南安装了 microk8shttps://microk8s.io/docs/

如果我 运行 microk8s kubectl get nodes,我明白了,我的节点实际上是 运行ning containerd 引擎。

我的应用程序构建过程设置为生成 docker 文件并自动创建 docker 图像,所以我希望 microk8s 也使用 docker.

之前用过minikube,现在决定试试microk8s。现在我有点困惑,也许从一开始就坚持使用 docker 是个坏主意?

是否可以为 microk8s 设置 docker 引擎?


我以前从未使用过 contained,我不知道如何为我的应用程序准备 contained 图像。这就是我问的原因。

您不需要特别地docker到运行pods使用docker图像kubernetes.Any OCI标准运行时间,例如containerd、docker、CRI-O 等,因为 OCI 运行time 可以 运行 docker 图像,因为它们都遵循相同的 OCI 标准。

microk8s 不提供选择不同 OCI 运行次

的能力

First of all, I am not an expert in container orchestration tools.

MicroK8s 只是一个快照包,可以安装在 Ubuntu 以及其他 Linux 发行版上。 MicroK8s 易于安装,占用磁盘和内存空间小,对于那些有兴趣探索 K8s 的人来说,它是一个很好的切入点。

如您所知,容器需要一个运行时间引擎; 虽然 Docker 是 Pod 中最常用的容器 运行时间 ,Pods 可以使用其他容器 运行时间引擎,如 CoreOS rkt 等,如果需要的话。对于容器本身,它没有区别。这就是该方法的全部思想。

您可以在 microk8s 上轻松 运行 您的容器。

希望对您有所帮助。

为了 运行 Nvidia GPU 启用容器,我不得不从 containerd 切换到 microk8s 中的 docker。我是这样做的:

  1. 编辑/var/snap/microk8s/current/args/kubelet

  2. 从远程更改 --container-运行time=docker。那么,

$ microk8s stop

$ micrk8s start