Home Explore Blog CI



kubernetes

4th chunk of `content/en/blog/_posts/2017-11-00-Containerd-Container-Runtime-Options-Kubernetes.md`
4b49c36fd59096edcda0e2d58e898eff34876caeb3f6b6d2000000010000057e
  

Let’s use an example to demonstrate how cri-containerd works for the case when Kubelet creates a single-container pod:  

1. Kubelet calls cri-containerd, via the CRI runtime service API, to create a pod;
2. cri-containerd uses containerd to create and start a special [pause container](https://www.ianlewis.org/en/almighty-pause-container) (the _sandbox container_) and put that container inside the pod’s cgroups and namespace (steps omitted for brevity);
3. cri-containerd configures the pod’s network namespace using CNI;
4. Kubelet subsequently calls cri-containerd, via the CRI image service API, to pull the application container image;
5. cri-containerd further uses containerd to pull the image if the image is not present on the node;
6. Kubelet then calls cri-containerd, via the CRI runtime service API, to create and start the application container inside the pod using the pulled container image;
7. cri-containerd finally calls containerd to create the application container, put it inside the pod’s cgroups and namespace, then to start the pod’s new application container.
After these steps, a pod and its corresponding application container is created and running.



## Status
Cri-containerd v1.0.0-alpha.0 was released on Sep. 25, 2017.  

It is feature complete. All Kubernetes features are supported.  

Title: Cri-containerd Workflow and Status
Summary
The provided text explains the workflow of cri-containerd when Kubelet creates a single-container pod. This includes creating a pause container, configuring the pod's network using CNI, pulling the application container image, and starting the application container within the pod. Cri-containerd v1.0.0-alpha.0 was released on Sep. 25, 2017 and supports all Kubernetes features.