文章目录
上图如果把它分成左右两边的话,可以认为 containerd 提供了两大功能:
- runtime,也就是对于容器生命周期的管理。
- storage,也就是对一个镜像存储的管理。
按照水平层次来看的话:
- gRPC:containerd 对于上层来说是通过 gRPC server 的形式来对上层提供服务的。
- Metrics:主要是提供 cgroup Metrics 的一些内容。
- Storage:容器镜像的一个存储。
- Metadata:包括 images、containers,Metadata 是通过 bootfs 存储在磁盘上面的。
- Tasks:管理容器的容器结构。
- Events:是对容器的一些操作都会有一个 Event 向上层发出,然后上层可以去订阅这个 Event,由此知道容器状态发生什么变化;
- Runtimes:比如 runC 或者是 kata container 之类。