Summary
In this chapter, we’ve learned a lot about container runtimes, container interfaces, and service meshes. A container runtime is low-level software that manages basic container operations such as image downloading and the start or deletion of containers. Kubernetes does not have its own runtime, but it provides interfaces that allow you to use different runtimes, different network plugins, different storage solutions, and different service meshes. Those interfaces are called CRI, CNI, CSI, and SMI respectively and their introduction allowed a lot of flexibility when using K8s.
We’ve also learned about container runtime types and their differences. Namespaced containers are the most popular and lightweight, however, they are not as secure as other types. Virtualized containers are the slowest, but they provide maximum security as each container uses an individual Linux kernel. Sandboxed containers fill the gap between the other two – they are more secure...