Kubelet调用Cri-containerd,通过CRI运行时服务API,来创建pod;
Cri-containerd使用containerd创建并且启动一个特定的pause容器(沙箱容器),并且将该容器放到pod的cgroup和命名空间里(简化起见跳过这里的详细步骤);
Cri-containerd使用CNI配置pod的网络命名空间;
Kubelet接下来通过CRI镜像服务API调用Cri-containerd,来拉取应用程序容器镜像;
如果该镜像不在这个节点上,Cri-containerd就会使用containerd来拉取镜像;
Kubelet随后通过CRI运行时服务API来调用Cri-containerd,在pod内部,使用拉取下来的容器镜像,创建并且启动应用程序容器;
Cri-containerd最终调用containerd创建出应用程序容器,将其放入pod的cgroup和命名空间里,并且启动pod的全新的应用程序容器。
在多种OS发行版,比如Ubuntu,COS(容器优化OS)等上,在Kubernetes测试基础架构上搭建完整的Kubernetes集成测试。
积极解决所有测试失败以及其他用户汇报的问题。
改进crictl的用户体验。Crictl是所有CRI容器运行时的便携的命令行工具。这里的目标是让它更易于调试和开发。
将Cri-containerd和kuber-up.sh集成,帮助用户使用Cri-containerd和containerd搭建满足生产环境质量要求的Kubernetes集群。
https://github.com/kubernetes-incubator/cri-containerd
https://github.com/kubernetes-incubator/cri-containerd/releases/tag/v1.0.0-alpha.0
https://github.com/kubernetes-incubator/cri-containerd
https://github.com/kubernetes-incubator/cri-containerd/blob/master/contrib/ansible/README.md
https://github.com/kelseyhightower/kubernetes-the-hard-way
https://github.com/kubernetes-incubator/cri-containerd/blob/master/docs/installation.md
https://github.com/linuxkit/linuxkit/tree/master/projects/kubernetes
https://github.com/kubernetes-incubator/cri-containerd#getting-started-for-developers