Исторически сложилось так, что kubernetes поддерживал только докер как container runtime
.
Добавлена вторая опция (не знаю, какая версия) для использования rkt
в качестве среды выполнения вместо докера.
Начиная с версии 1.9, OCI
(open container initiative
) поддерживает среды выполнениябыл добавлен в бета-версию, что позволяет поддерживать целый список новых сред выполнения контейнеров, таких как:
- bwrap-oci
- crun
- railcar
- rkt
- runc
- runxlc
Итак, ответы таковы:
1) нет, если вы выберете kubernetes> 1,9, вы можетевыберите из множества контейнерных сред выполнения
2) да, kubernetes 1.9+ имеет поддержку cri-o
3) см. список выше
Более подробное объяснение здесь: https://joejulian.name/post/kubernetes-container-engine-comparison/