節點容器運行時說明
更新時間 2025-05-09 23:25:41
最近更新時間: 2025-05-09 23:25:41
分享文章
本節介紹了:節點容器運行時的用戶指南。
容器運行時介紹
容器運行時是負責管理節點上容器的生命周期。Kubernetes通過 Kubelet 的 Container Runtime Interface(CRI)與容器運行時交互,控制容器的創建與管理。
基于 Containerd性能更好、更穩定、占用資源更少等優點,云容器引擎選擇 Containerd作為容器運行時的解決方案。
云容器引擎早期在 Kubernetes v1.23上還支持選擇 Docker,當前則需提工單申請,未來會移除對 Docker的支持,強烈建議您使用 Containerd或遷移到 Containerd。
云容器引擎選擇 Containerd作為容器運行時的解決方案,對比 Docker,Containerd的優點如下:
調用鏈更短
Containerd:
Kubelet -> CRI plugin(在 Containerd中)-> Containerd
Docker:
K8s v1.23及以下版本:Kubelet -> Dockershim(在 Kubelet中)-> Docker -> Containerd
K8s v1.24及以上版本:Kubelet -> cri-dockerd -> Docker -> Containerd
CPU和內存占用更少
穩定性和安全性更好
Pod 啟動更快
Containerd 和 Docker的常用命令對比
Containerd 支持兩種命令行工具:ctr和 crictl。其中,ctr是 Containerd 的客戶端工具,crictl是兼容 CRI 的容器運行時的命令行工具。crictl 可以用來檢查和調試 Kubernetes節點上容器運行時和應用程序。
| 操作 | Docker | crictl | ctr |
|---|---|---|---|
| 上傳鏡像 | docker push | crictl push | ctr -n k8s.io i push |
| 拉取鏡像 | docker pull | crictl pull | ctr -n k8s.io i pull |
| 查看鏡像詳情 | docker inspect | crictl inspecti | 無 |
| 列出本地鏡像列表 | docker images | crictl images | ctr -n k8s.io i ls |
| 刪除本地鏡像 | docker rmi | crictl rmi | ctr -n k8s.io i rm |
| 創建容器 | docker create | crictl create | crt -n k8s.io c create |
| 啟動容器 | docker start | crictl start | crt -n k8s.io run |
| 連接容器 | docker attach | crictl attach | 無 |
| 進入容器 | docker exec | crictl exec | 無 |
| 查看容器詳情 | docker inspect | crictl inspect | crt -n k8s.io c info |
| 查看容器日志 | docker logs | crictl logs | 無 |
| 查看容器資源使用情況 | docker stats | crictl stats | 無 |
| 更新容器資源限制 | docker update | crictl update | 無 |
| 停止容器 | docker stop | crictl stop | 無 |
| 列出容器列表 | docker ps | crictl ps | crt -n k8s.io c ls |
| 刪除容器 | docker rm | crictl rm | crt -n k8s.io c del |
| 啟動 Pod | 無 | crictl start | 無 |
| 運行 Pod | 無 | crictl runp | 無 |
| 查看 Pod詳情 | 無 | crictl inspectp | 無 |
| 停止 Pod | 無 | crictl stopp | 無 |
| 列出 Pod列表 | 無 | crictl pods | 無 |
| 刪除 Pod | 無 | crictl rmp | 無 |
操作系統與容器運行時的對應關系
| 節點類型 | 操作系統 | 內核版本 | 容器運行時 | 容器存儲Rootfs | OCI 運行時 |
| 彈性云主機 | CTyunOS 23.01 | 5.10 | Containerd | OverlayFS | runC |
| CentOS 7.9 | 5.4 | Containerd | OverlayFS | runC | |
| 彈性裸金屬 | CTyunOS 23.01 | 5.10 | Containerd | OverlayFS | runC |
| CentOS 7.9 | 5.4 | Containerd | OverlayFS | runC |
集群版本與容器運行時對應關系
| 集群版本 | 容器運行時 | 運行時版本 |
|---|---|---|
| v1.23.3 | containerd | 1.6.23 |
| docker | 20.10.12 | |
| v1.25.6 | containerd | 1.6.23 |
| docker | 20.10.12 | |
| v1.27.8 | containerd | 1.6.23 |
| docker | 20.10.12 | |
| v1.29.3 | containerd | 1.6.23 |
| docker | 20.10.12 |