Résumer les principaux composants du plan de contrôle d'un cluster Kubernetes à partir de ce paragraphe.
Summarize the main components of a Kubernetes cluster control plane from this paragraph
The kubernetes cluster control plane runs on one more more master nodes. The components are:
1. etcd - a key value datastore containing the configuration data of the cluster.
2. The api-server is a server which serves and updates the state of the kubernetes cluster. It watches etcd and keeps the clusters actual state in sync with its desired state.
3. The scheduler is a component which selects on which node an unscheduled pod should run, based on what each pod needs and what the nodes in the cluster can support.
4. The controller manager manages several controllers which keep the cluster in sync with its desired state.
Le plan de contrôle du cluster kubernetes s'exécute sur un ou plusieurs nœuds maîtres. Les composants sont les suivants
1. etcd - un magasin de données à valeur de clé contenant les données de configuration du cluster.
2. Le serveur api est un serveur qui sert et met à jour l'état du cluster kubernetes. Il surveille etcd et maintient l'état actuel du cluster en synchronisation avec son état souhaité.
3. Le planificateur est un composant qui sélectionne sur quel nœud un pod non programmé doit s'exécuter, en fonction des besoins de chaque pod et de ce que les nœuds du cluster peuvent supporter.
4. Le gestionnaire de contrôleurs gère plusieurs contrôleurs qui maintiennent le cluster en synchronisation avec son état souhaité.
summarization
Kubernetes définit un ensemble de blocs de construction ("primitives") qui fournissent collectivement des mécanismes de déploiement, de maintenance et de mise à l'échelle des applications en fonction de l'unité centrale, de la mémoire ou de mesures personnalisées, Kubernetes est faiblement couplé et extensible pour répondre à différentes charges de travail. Les composants internes ainsi que les extensions et les conteneurs qui fonctionnent sur Kubernetes s'appuient sur l'API Kubernetes. La plateforme exerce son contrôle sur les ressources de calcul et de stockage en définissant les ressources en tant qu'objets, qui peuvent ensuite être gérés en tant que tels.

Kubernetes suit l'architecture primaire/réplique. Les composants de Kubernetes peuvent être divisés entre ceux qui gèrent un nœud individuel et ceux qui font partie du plan de contrôle.

Plan de contrôle
Le nœud maître Kubernetes gère le plan de contrôle Kubernetes du cluster, en gérant sa charge de travail et en dirigeant la communication à travers le système. Le plan de contrôle Kubernetes se compose de divers éléments, chacun étant son propre processus, qui peuvent s'exécuter à la fois sur un seul nœud maître ou sur plusieurs maîtres prenant en charge les clusters à haute disponibilité :

etcd est un magasin de données clé-valeur persistant, léger et distribué que CoreOS a développé. Il stocke de manière fiable les données de configuration du cluster, représentant l'état général du cluster à un moment donné. etcd privilégie la cohérence à la disponibilité en cas de partition du réseau (voir le théorème CAP). La cohérence est cruciale pour planifier et exploiter correctement les services.
Le serveur API sert l'API Kubernetes à l'aide de JSON sur HTTP, qui constitue l'interface interne et externe de Kubernetes. Le serveur API traite et valide les demandes REST et met à jour l'état des objets API dans etcd, permettant ainsi aux clients de configurer les charges de travail et les conteneurs sur les nœuds de travail. Le serveur API utilise l'API watch d'etcd pour surveiller le cluster, déployer les changements de configuration critiques ou restaurer toute divergence de l'état du cluster par rapport à ce qui a été déclaré par le responsable du déploiement. Par exemple, le responsable du déploiement peut spécifier que trois instances d'un "pod" particulier (voir ci-dessous) doivent être en cours d'exécution. etcd enregistre ce fait. Si le contrôleur de déploiement constate que seules deux instances sont en cours d'exécution (en conflit avec la déclaration etcd), il planifie la création d'une instance supplémentaire de ce pod.
L'ordonnanceur est le composant extensible qui sélectionne le nœud sur lequel un pod non programmé (l'entité de base gérée par l'ordonnanceur) s'exécute, en fonction de la disponibilité des ressources. L'ordonnanceur suit l'utilisation des ressources sur chaque nœud afin de s'assurer que la charge de travail n'est pas programmée au-delà des ressources disponibles. À cette fin, l'ordonnanceur doit connaître les besoins en ressources, la disponibilité des ressources et d'autres contraintes ou directives de politique fournies par l'utilisateur, telles que la qualité de service, les exigences d'affinité ou d'anti-affinité et la localité des données. Le rôle de l'ordonnanceur est de faire correspondre l'"offre" de ressources à la "demande" de charge de travail.
Un contrôleur est une boucle de réconciliation qui conduit l'état actuel du cluster vers l'état souhaité, en communiquant avec le serveur API pour créer, mettre à jour et supprimer les ressources qu'il gère (par exemple, les pods ou les points d'extrémité de service) Un type de contrôleur est un contrôleur de réplication, qui gère la réplication et la mise à l'échelle en exécutant un nombre spécifié de copies d'un pod à travers le cluster. Il gère également la création de pods de remplacement si le nœud sous-jacent tombe en panne. D'autres contrôleurs qui font partie du cœur du système Kubernetes comprennent un contrôleur DaemonSet pour exécuter exactement un pod sur chaque machine (ou un certain sous-ensemble de machines), et un contrôleur Job pour exécuter des pods qui s'exécutent jusqu'à la fin (par exemple, dans le cadre d'un travail par lots). Les sélecteurs d'étiquettes qui font partie de la définition du contrôleur spécifient l'ensemble de pods qu'un contrôleur gère.
Le gestionnaire de contrôleur est un processus qui gère un ensemble de contrôleurs Kubernetes de base.
fr