我有一个带有 Docker 的 Kubernetes 集群,最近将其迁移到 containerd,但由于一些兼容性问题,我仍然想使用 Docker 来管理 Kubernetes 的镜像和容器。
当使用 Docker 作为运行时时,Docker 能够加载映像以便 Kubernetes 可以使用它,并且能够使用 docker ps 命令列出作为 Kubernetes pod 运行的容器。
即使切换到 containerd,我仍然可以运行和使用 Docker。但是由于 Docker 与 Kubernetes 世界隔离,因此无法使用 docker 命令管理 Kubernetes 中的资源。
看来 Kubernetes 正在使用 containerd 的命名空间“k8s.io”运行,所以我希望可以配置 Docker 来管理该命名空间中的资源,可以吗?
答案1
我认为您无法让 Docker CLI 执行此操作,因为它不了解 containerd 命名空间。
不过,有一个工具可以为 containerd 提供类似 docker CLI 的功能,它是nerdctl,这可能是值得探索的一个好选择。