ACK支持containerd、安全沙箱和Docker三种运行时。本文通过对比三种运行时的实现和使用限制、部署结构,帮助您根据需求场景了解并选择合适的容器运行时。
容器运行时实现和使用限制的对比
特性 | containerd运行时 | 安全沙箱运行时 | Docker运行时(已停止维护) |
集群类型 |
|
| 所有集群类型 |
集群版本 | 1.31及以下版本 | 1.31及以下版本 | 1.22及以下版本 说明 建议您升级Docker运行时为containerd运行时。详细信息,请参见将节点容器运行时从Docker迁移到containerd。 |
节点型号 |
| 仅适用于弹性裸金属服务器实例规格 | ECS |
节点OS | 容器服务 Kubernetes 版提供的ContainerOS、Alibaba Cloud Linux 3、Ubuntu、Windows等操作系统的公共镜像。详细信息请参见操作系统。 | Alibaba Cloud Linux定制版 |
|
容器引擎 | containerd | containerd | Docker |
监控 | 支持 | 支持 | 支持 |
容器日志文件采集 | 支持 | 手动支持(Sidecar) | 支持 |
容器标准输出采集 | 支持 | 支持 | 支持 |
RuntimeClass | 不支持 | 支持(runV) | 不支持 |
Pod调度 | 无需配置 | 配置如下:
| 无需配置 |
HostNetwork | 支持 | 不支持 | 支持 |
节点数据盘 | 可选 | 必选(不小于200 GiB) | 可选 |
网络插件 |
|
|
|
kube-proxy代理模式 |
|
|
|
存储插件 | CSI Plugin(ACK Edge集群除外) | CSI Plugin | CSI Plugin |
容器RootFS | OverlayFS | 配置磁盘Quota的OverlayFS | OverlayFS |
不支持同一节点同时部署Docker和安全沙箱两种运行时。
集群内可以通过创建不同节点池来实现Docker运行时节点和安全沙箱运行时节点混合部署。
关于Sidecar配置,请参见通过Sidecar-CRD方式采集容器文本日志。
运行时部署结构对比
运行时 | 部署结构 |
Docker |
|
containerd |
|
安全沙箱v2 |
|
Docker和containerd两种容器引擎常用命令对比
Docker运行时和安全沙箱运行时的容器引擎分别是Docker和containerd,各自具有独特的命令行工具来管理镜像和容器。两种容器引擎常用命令对比如下。
命令 | containerd | Docker | |
crictl(推荐) | ctr | docker | |
查看容器列表 |
|
|
|
查看容器详情 |
|
|
|
查看容器日志 |
| N/A |
|
容器内执行命令 |
| N/A |
|
挂载容器 |
| N/A |
|
显示容器资源使用情况 |
| N/A |
|
创建容器 |
|
|
|
启动容器 |
|
|
|
停止容器 |
| N/A |
|
删除容器 |
|
|
|
查看镜像列表 |
|
|
|
查看镜像详情 |
| N/A |
|
拉取镜像 |
|
|
|
推送镜像 | N/A |
|
|
删除镜像 |
|
|
|
查看Pod列表 |
| N/A | N/A |
查看Pod详情 |
| N/A | N/A |
启动Pod |
| N/A | N/A |
停止Pod |
| N/A | N/A |