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 |