大家看了解决有意义、有帮助记得点赞加关注!!!
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 | ||
查看容器列表 |
|
|
|
查看容器详情 |
|
|
|
查看容器日志 |
| 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 |
四、ACK安全沙箱和社区Kata Containers对比
ACK安全沙箱相比社区Kata Containers,在性能上面具有较大优势,如下表所示。
性能 | 性能分类 | ACK安全沙箱v2 | 社区Kata Containers |
沙箱启动速度 | 约150ms | 约500ms | |
沙箱额外开销 | 低 | 高 | |
容器RootFS | virtio-fs,性能:☆☆☆☆ | 9pfs,性能:☆ | |
容器存储卷 | HostPath/EmptyDir | virtio-fs,性能:☆☆☆☆ | |
云盘块存储 | virtio-fs,性能:☆☆☆☆ | ||
NAS文件存储 |
| ||
OSS对象存储 | virtio-fs,性能:☆☆☆☆ | ||
网络插件 |
| Flannel | |
监控告警 |
| 缺失安全沙箱Pod的磁盘和网络监控指标。 | |
稳定性 | ☆☆☆☆☆ | ☆☆ |