A talk given at Craft Conf in Budapest, Hungary on May 10th, 2019. In this talk, Phil walked through the history of the need for a Container Runtime Interface (CRI) in Kubernetes, followed by an overview of all available CRI implementations, focusing on containerd, the CNCF core container runtime used in many clouds and projects. Phil demonstrated the "layers" of interaction from Kubernetes API, to CRI API to a container runtime's native API using an IBM Cloud Kubernetes cluster using containerd 1.2.6.
10. @estesp
CRI Runtimes Overview
• A stable, core, performant core container runtime for the cloud
• Has a CRI implementation, and is a CNCF graduated project
• “all the runtime Kubernetes needs and nothing more”; RH created
• CRI implementation over runc and 2 open libraries; K8s incubator
• Intel Clear Containers + Hyper.sh combined project
• Lightweight virtualization (KVM/qemu) under cri-o and containerd
• Amazon open source project announced Nov 2018; lightweight virt.
• Uses Rust-based VMM instead of qemu; plugs into containerd
• CRI implementation over Sylabs Singularity runtime project
• Userbase traditionally from academia/HPC use cases
20. @estesp
What is all this?
$ kubectl kubelet
cri-containerd
containerd
$ crictl
$ ctr
K8s API
CRI API
containerd
API
21. @estesp
Going Further
▧ crictl User’s Guide:
https://github.com/containerd/cri/blob/master/docs/crictl.md
▧ Stephen Day’s KubeCon 2018 containerd talk:
https://www.youtube.com/watch?v=3AynH3c0F8M
▧ Containerd project and website:
https://github.com/containerd/containerd https://containerd.io
▧ My blog posts on the topic:
https://integratedcode.us/tag/containerd
23. @estesp
Credits
Special thanks to all the people who made and
released these awesome resources for free:
▧ Presentation template by SlidesCarnival
▧ Photographs by Unsplash
▧ Backgrounds by Pixeden