Kubernetes 中 Containerd 的使用
Contents
Docker 作为 K8S 最早时期的运行时唯一选择,由于各种各样的原因,Dockershim 在 K8S 1.24 后续版本中弃用,默认使用 Containerd。
Containerd
Containerd 是一个开源的容器运行时环境,由 Docker 发起并捐赠给了云原生计算基金会(CNCF)。它被设计为轻量级、高度可扩展、高性能和稳定的容器运行时。Containerd 的目标是提供核心容器功能,并作为容器生态系统的基础构件。
crictl、ctr
crictl 和 ctr 是两个与 Containerd 紧密相关的命令行工具。它们用于与 Containerd 交互并执行各种容器操作。crictl 是一个 CRI(容器运行时接口)工具,用于管理容器的生命周期和状态,例如创建、启动、停止和删除容器。而 ctr 是 Containerd 提供的命令行工具,用于管理 Containerd 的核心功能,如镜像和容器的管理。
简单说,crictl 是 K8S 的用于 CRI 命令行工具,ctr 是 Containerd 的命令行工具。
常用命令
crictl:
- crictl pull
:从容器镜像仓库中拉取指定的镜像。 - crictl create
:使用指定的镜像创建一个容器。 - crictl start
:启动指定的容器。 - crictl stop
:停止指定的容器。 - crictl rm
:删除指定的容器。
ctr:
- ctr images pull
:从容器镜像仓库中拉取指定的镜像。 - ctr run
:使用指定的镜像运行一个容器。 - ctr container start
:启动指定的容器。 - ctr container stop
:停止指定的容器。 - ctr container delete
:删除指定的容器。