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