
При проектирование своего Kubernetes кластера чрезвычайно важным его элементом является Container Runtime. При этом мало кто знает, что он, по сути, состоит из 2 частей: High-level Runtime и Low-level Runtime.
High-level Runtime (CRI Implementations):
•
•
•
Отдельно советую посмотреть слайды "How Container Runtimes matter in Kubernetes?" про сравнение данных вещей в плане производительности и более новое исследование "Performance Evaluation of Container Runtime".
High-level Runtime (CRI Implementations):
•
Dockershim
• CRI-O
• Containerd
• Frakti
• rktlet
Low-level Runtime (OCI Runtimes):•
runC
•
runV
• Clear Containers
• kata-runtime
• gVisor
Изучая и сравнивая Docker
и Containerd
- можно лишний раз убедиться, что специализированное решение (Containerd
) лучше, чем решение общего назначения. Для этого я сравнил security related информацию, выдаваемую командами crictl inspect <containerid>
и docker inspect <containerid>
. По мимо той же прямой связи с ресурсами Kubernetes есть и нформация по capabilities
, seccomp
настройкам работающего контейнера.Отдельно советую посмотреть слайды "How Container Runtimes matter in Kubernetes?" про сравнение данных вещей в плане производительности и более новое исследование "Performance Evaluation of Container Runtime".