Інтерфейс середовища виконання контейнерів (CRI)
CRI — це інтерфейс втулка, який дозволяє kubelet використовувати різноманітні середовища виконання контейнерів, не маючи потреби перекомпілювати компоненти кластера.
Для того, щоб kubelet міг запускати Podʼи та їхні контейнери, потрібне справне середовище виконання контейнерів на кожному вузлі в кластері.
Інтерфейс середовища виконання контейнерів (CRI) — основний протокол для взаємодії між kubelet та середовищем виконання контейнерів.
Інтерфейс середовища виконання контейнерів Kubernetes (CRI) визначає основний протокол gRPC для взаємодії між компонентами вузла kubelet та середовищем виконання контейнерів.
API
Kubernetes v1.23 [stable]
Kubelet діє як клієнт при підключенні до середовища виконання контейнерів через gRPC. Endpointʼи служби виконання та образів повинні бути доступні в середовищі виконання контейнерів, це може бути налаштовано окремо в kubelet за допомогою прапорців командного рядка --image-service-endpoint
command line flags.
Для Kubernetes v1.31, kubelet вибирає CRI v1
. Якщо середовище виконання контейнерів не підтримує v1
CRI, то kubelet намагається домовитися про будь-яку підтримувану старішу версію. Kubelet v1.31 також може домовитися про CRI v1alpha2
, але ця версія вважається застарілою. Якщо kubelet не може домовитися про підтримувану версію CRI, то kubelet припиняє спроби та не реєструє вузол.
Оновлення
При оновленні Kubernetes kubelet намагається автоматично вибрати останню версію CRI при перезапуску компонента. Якщо це не вдається, то відбувається відновлення згідно з зазначеними вище. Якщо потрібен перезапуск kubelet через gRPC через оновлення середовища виконання контейнерів, то середовище виконання контейнерів також повинне підтримувати вибрану спочатку версію, інакше очікується що відновлення не відбудеться. Це вимагає перезапуску kubelet.
Що далі
- Дізнайтеся більше про визначення протоколу CRI