前言
Kubernetes (K8s) 对容器运行时有多种支持,包括 Docker 和 containerd。
以下是一些支持 Docker 和 containerd 的 Kubernetes 版本:
Kubernetes 从 1.20 版本开始逐步弃用 Docker 作为默认的容器运行时,转而使用 containerd 作为底层容器运行时。
具体来说:
- Kubernetes 1.20
虽然 Docker 仍然是一个可选的容器运行时,但 Kubernetes 团队开始推荐使用 containerd 作为容器运行时。 - Kubernetes 1.22
Docker 作为默认的容器运行时被正式弃用,但 Docker 仍然可以作为一个兼容的容器运行时使用,只要其使用的是 containerd 的底层实现。 - Kubernetes 1.24
从这一版本开始,Kubernetes 官方明确声明 Docker 将不再作为 Kubernetes 的支持的默认容器运行时。容器运行时接口 (CRI) 将基于 containerd 或其他符合 CRI 标准的运行时。
1、Containerd之ctr的用法
containerd 相比于docker , 多了 namespace概念, 每个 image和 container 都会在各自的namespace下可见, 目前k8s会使用k8s.io 作为命名