ACK支援containerd、安全沙箱和Docker三種運行時。本文通過對比三種運行時的實現和使用限制、部署結構,協助您根據需求情境瞭解並選擇合適的容器運行時。
容器運行時實現和使用限制的對比
特性 | containerd運行時 | 安全沙箱運行時 | Docker運行時(已停止維護) |
叢集類型 |
|
| 所有叢集類型 |
叢集版本 | 1.31及以下版本 | 1.31及以下版本 | 1.22及以下版本 說明 建議您升級Docker運行時為containerd運行時。詳細資料,請參見將節點容器運行時從Docker遷移到containerd。 |
節點型號 |
| 僅適用於ECS Bare Metal Instance執行個體規格 | ECS |
節點OS | Container Service for 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 |