Définitions claires et concises des termes essentiels de Kubernetes, organisées par thèmes pour faciliter l'apprentissage.
Ensemble de machines (physiques ou virtuelles) qui exécutent des applications conteneurisées gérées par Kubernetes. Un cluster comprend au minimum un Control Plane et un ou plusieurs Worker Nodes.
Machine individuelle dans le cluster Kubernetes. Il peut être physique ou virtuel et exécute les composants nécessaires pour faire fonctionner les Pods.
Ensemble des composants qui gèrent l'état du cluster. Prend toutes les décisions sur le scheduling, la mise à l'échelle, et maintient l'état désiré. Anciennement appelé "Master Node".
Machine qui exécute les Pods d'applications. Contient kubelet, kube-proxy et un runtime de conteneur.
Point d'entrée unique pour toutes les opérations du cluster. Interface REST qui expose l'API Kubernetes et traite toutes les requêtes.
Base de données distribuée clé-valeur qui stocke toutes les données de configuration et l'état du cluster. C'est le "cerveau" qui se souvient de tout.
Composant qui décide sur quel Node placer chaque nouveau Pod en fonction des ressources disponibles et des contraintes définies.
Exécute les "boucles de contrôle" qui surveillent l'état du cluster et effectuent les changements nécessaires pour maintenir l'état désiré.
Agent qui s'exécute sur chaque Node. Il communique avec l'API Server et s'assure que les conteneurs des Pods fonctionnent correctement.
Proxy réseau qui gère les règles de routage pour permettre la communication entre les Services et les Pods.
Logiciel responsable de l'exécution des conteneurs (containerd, Docker, CRI-O).
Plus petite unité de déploiement dans Kubernetes. Contient un ou plusieurs conteneurs qui partagent le même réseau et stockage. Les conteneurs d'un Pod vivent et meurent ensemble.
Contrôleur qui gère des Pods identiques et leur cycle de vie. Permet les mises à jour progressives, les rollbacks et la mise à l'échelle automatique.
S'assure qu'un nombre spécifique de Pods identiques s'exécutent à tout moment. Généralement géré automatiquement par les Deployments.
Exécute des tâches ponctuelles qui doivent se terminer avec succès (comme un script de sauvegarde ou un traitement batch).
Planifie l'exécution de Jobs à des moments spécifiques, comme les tâches cron Unix.
S'assure qu'un Pod s'exécute sur chaque Node du cluster (ou un sous-ensemble). Utile pour les agents de monitoring ou les collecteurs de logs.
Gère des Pods avec des identités stables et un stockage persistant. Utilisé pour les bases de données et applications avec état.
Abstraction qui définit un moyen stable d'accéder à un ensemble de Pods. Fournit une IP et un nom DNS fixes même quand les Pods changent.
Type de Service par défaut qui expose l'application uniquement à l'intérieur du cluster.
Type de Service qui expose l'application à l'extérieur du cluster en ouvrant un port sur chaque Node.
Type de Service qui crée automatiquement un load balancer externe (dans le cloud) pour exposer l'application.
Type de Service qui redirige vers un service externe via un nom DNS.
Gère l'accès HTTP et HTTPS externe au cluster. Permet le routage basé sur les noms de domaine et les chemins d'URL.
Composant qui implémente les règles d'Ingress. Exemples : nginx-ingress, Traefik, HAProxy.
Répertoire accessible aux conteneurs d'un Pod. Peut être temporaire (emptyDir) ou persistant.
Espace de stockage dans le cluster qui existe indépendamment des Pods. Peut être un disque réseau, local, ou cloud.
Demande de stockage par un utilisateur. Lie automatiquement un PV compatible à un Pod.
Définit les "classes" de stockage disponibles (SSD, HDD, local, réseau) et comment les provisionner automatiquement.
Objet qui stocke des données de configuration non-confidentielles sous forme de paires clé-valeur. Utilisé pour externaliser la configuration des applications.
Objet qui stocke des informations sensibles (mots de passe, clés, certificats) de manière sécurisée. Les données sont encodées en base64.
Moyens de passer des informations de configuration aux conteneurs au moment du démarrage.
Mécanisme pour diviser un cluster en plusieurs environnements virtuels. Permet l'isolation et l'organisation des ressources.
Métadonnées sous forme de paires clé-valeur attachées aux objets pour les organiser et les sélectionner.
Mécanisme pour filtrer les objets basé sur leurs labels. Utilisé par les Services pour trouver leurs Pods cibles.
Métadonnées non-identifiantes attachées aux objets pour stocker des informations arbitraires.
Système de gestion des permissions qui définit qui peut faire quoi dans le cluster.
Identité utilisée par les Pods pour s'authentifier auprès de l'API Kubernetes.
Quantité minimale de CPU et mémoire qu'un conteneur nécessite pour fonctionner.
Quantité maximale de CPU et mémoire qu'un conteneur peut utiliser.
Contrainte sur la consommation totale de ressources dans un namespace.
Définit les limites par défaut et les contraintes sur les ressources pour les objets individuels dans un namespace.
Mécanisme pour vérifier si une application fonctionne correctement.
Test qui détermine si un conteneur fonctionne. Si le test échoue, kubelet redémarre le conteneur.
Test qui détermine si un conteneur est prêt à recevoir du trafic. Si le test échoue, le Pod est retiré des endpoints du Service.
Test spécial pour les conteneurs qui ont un temps de démarrage long.
Enregistrements automatiques des actions importantes dans le cluster (création de Pods, erreurs, warnings).
Outil en ligne de commande pour interagir avec l'API Kubernetes. Permet de créer, modifier, supprimer et inspecter les objets.
Fichier de configuration qui contient les informations de connexion aux clusters (serveurs, certificats, contextes).
Configuration qui combine un cluster, un utilisateur et un namespace. Définit "où" et "en tant que qui" kubectl opère.
Gestionnaire de packages pour Kubernetes qui simplifie l'installation et la gestion d'applications complexes.
Stratégie de déploiement qui remplace progressivement les anciens Pods par de nouveaux, sans interruption de service.
Action de revenir à une version précédente d'un déploiement en cas de problème.
Stratégie où deux environnements identiques (Blue et Green) permettent un basculement instantané entre versions.
Stratégie qui déploie une nouvelle version sur un petit sous-ensemble d'utilisateurs avant un déploiement complet.
Interface standardisée pour les plugins réseau qui connectent les conteneurs.
Règles qui contrôlent le trafic réseau entre les Pods, comme un firewall au niveau application.
Infrastructure dédiée pour gérer la communication entre services (Istio, Linkerd).
Architecture où les composants critiques sont dupliqués pour éviter les points de défaillance unique.
Mécanisme qui ajuste automatiquement le nombre de Pods selon la charge de travail.
Contrôleur qui ajuste automatiquement le nombre de répliques d'un Deployment selon les métriques (CPU, mémoire).
Ajuste automatiquement les requests et limits de ressources des conteneurs.
Ajuste automatiquement le nombre de Nodes dans le cluster selon les besoins.
Format de fichier lisible par l'homme utilisé pour définir les objets Kubernetes.
Fichier de configuration (généralement en YAML) qui décrit un ou plusieurs objets Kubernetes.
Version de l'API Kubernetes utilisée pour un objet spécifique (ex: apps/v1, v1).
Type d'objet Kubernetes défini dans un manifest (Pod, Deployment, Service, etc.).
Configuration cible que vous spécifiez pour vos applications.
État réel des objets dans le cluster à un moment donné.
Processus par lequel Kubernetes ajuste l'état actuel pour qu'il corresponde à l'état désiré.
Approche pour construire et exécuter des applications qui exploitent pleinement les avantages du cloud computing.
Architecture où une application est décomposée en petits services indépendants qui communiquent entre eux.
Package logiciel léger qui inclut tout le nécessaire pour exécuter une application.
Automatisation du déploiement, de la gestion et de la mise à l'échelle des applications conteneurisées.
Approche où l'infrastructure n'est jamais modifiée après déploiement, mais remplacée entièrement.
Ce glossaire couvre les termes essentiels pour débuter avec Kubernetes. Pour des définitions plus avancées et techniques, consultez :