Container Runtime

为了避免 K8S 绑定于特定的容器运行时,所以便成立了 Open Container Initiative (OCI) 组织
CRI 主要是基于 gRPC 实现了 RuntimeService 和 ImageService 这两个服务,可以参考 pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto 中的 API 定义
只要继续将 kubelet 当作 agent 的角色,而它与基于 CRI 实现的 CRI shim 服务进行通信理解即可
当前使用最为广泛的是 Docker,当前还支持的主要有 runcContainerdrunV 以及 rkt

查看 pod 的 Events:

pull 镜像, 创建镜像并启动

1
2
kubectl run redis --image=redis
kubectl describe pod/redis-658d78cf9c-kl7wz

参考资料:
https://moelove.info/2018/11/23/runc-1.0-rc6-发布之际/
https://raw.githubusercontent.com/tao12345666333/slides/master/2018.09.13-Tech-Talk-Time/Docker实战和基本原理-张晋涛.pdf