Interface de Runtime de Conteneur (CRI)

Le CRI (Container Runtime Interface) est une interface de plugin qui permet au kubelet d'utiliser une grande variété de runtimes de conteneurs, sans avoir besoin de recompiler les composants du cluster.

Vous avez besoin d'un runtime de conteneur fonctionnel sur chaque nœud de votre cluster, afin que le kubelet puisse lancer Pods et leurs conteneurs.

L'Interface de Runtime de Conteneur (CRI) est le protocole principal pour la communication entre le kubelet et le Runtime de Conteneur.

L'Interface du Runtime de Conteneur (CRI) de Kubernetes définit le protocole principal gRPC pour la communication entre les composants du nœud kubelet et le runtime de conteneur.

L'API

FEATURE STATE: Kubernetes v1.23 [stable]

Le kubelet agit en tant que client lorsqu'il se connecte au runtime de conteneur via gRPC. Les points de terminaison du service de runtime et d'image doivent être disponibles dans le runtime de conteneur, ce qui peut être configuré séparément dans le kubelet en utilisant les indicateurs de ligne de commande --image-service-endpoint (voir la référence des options du kubelet).

Pour Kubernetes v1.31, le kubelet préfère utiliser CRI v1. Si un runtime de conteneur ne prend pas en charge v1 de CRI, alors le kubelet essaie de négocier toute version plus ancienne prise en charge. Le kubelet de v1.31 peut également négocier CRI v1alpha2, mais cette version est considérée comme obsolète. Si le kubelet ne peut pas négocier une version de CRI prise en charge, le kubelet abandonne et ne s'enregistre pas en tant que nœud.

Mise à niveau

Lors de la mise à niveau de Kubernetes, le kubelet essaie de sélectionner automatiquement la dernière version de CRI lors du redémarrage du composant. Si cela échoue, alors le fallback aura lieu comme mentionné ci-dessus. Si une nouvelle connexion gRPC était nécessaire car le runtime de conteneur a été mis à niveau, alors le runtime de conteneur doit également prendre en charge la version initialement sélectionnée, sinon la reconnexion est censée échouer. Cela nécessite un redémarrage du kubelet.

A suivre

  • En savoir plus sur la définition du protocole CRI ici
Dernière modification September 12, 2024 at 5:07 PM PST: Update French documentation for concept architecture (48766a92ac)