Container Runtime Interface (CRI)
Стандартный интерфейс (gRPC API), через который kubelet в Kubernetes общается с контейнерной средой выполнения; благодаря ему Kubernetes работает поверх любого совместимого рантайма — containerd, CRI-O и других.
Предыстория: сначала Kubernetes был жёстко привязан к Docker через внутреннюю прослойку. CRI (2016) убрал эту привязку: kubelet говорит на CRI, а подключить можно любой рантайм, который его реализует. Именно это сделало возможным уход от Docker — печально известное удаление «dockershim» в Kubernetes 1.24 вызвало панику, но на практике затронуло немногих: образы Docker по-прежнему отлично запускаются через containerd.
Сегодня чаще всего встречаются containerd (де-факто стандарт) и CRI-O (Red Hat). Ниже них работает низкоуровневый рантайм (runc), который и запускает контейнер. Выигрыш: можно перейти на более безопасный рантайм (gVisor, Kata), не трогая сам Kubernetes.