GNU/Linux >> Tutoriels Linux >  >> Linux

Guide de l'administrateur système sur les composants de base de Kubernetes

Un cluster Kubernetes général (également écrit en K8) se compose d'un plan de contrôle nœuds et au moins un nœud de travail .

Ce didacticiel vous guide à travers l'architecture Kubernetes et les composants du plan de contrôle et du nœud de travail. Il explique l'architecture et les fonctionnalités telles que api-server , planificateur , etcd , et gestionnaire de contrôle . Sous les nœuds de travail, nous couvrons les détails sur kubectl , kubelet , et kube-proxy .

Architecture Kubernetes

Image de kubernetes.io

Dans le diagramme ci-dessus, nous pouvons voir que le plan de contrôle prend certaines décisions globales telles que la planification, et il conserve les détails du cluster dans un magasin de données (etcd). Il répond également aux événements du cluster, y compris la maintenance des répliques comme mentionné dans les déploiements.

Composants du plan de contrôle

Alors, qu'est-ce qu'un plan de contrôle Kubernetes ?
En termes clairs et simples, le plan de contrôle est un décideur global pour le cluster, ce qui signifie qu'il contrôle la planification. Il est également responsable du maintien du comportement global du cluster. Les applications conteneurisées sont planifiées sur les nœuds de travail en fonction de la mémoire allouée par déploiement. Il répond également aux événements de cluster. Par exemple, le plan de contrôle démarre/termine de nouveaux pods lorsque les valeurs du jeu de réplicas ne sont pas satisfaites. Nous pouvons dire que le plan de contrôle Kubernetes est le cerveau du cluster qui prend des décisions logiques.

[ Les lecteurs ont également aimé : Transformer un déploiement Kubernetes en un service Knative ]

Le plan de contrôle comprend les composants suivants :

Serveur API (alias kube-apiserver)

Le serveur d'API est l'interface Kubernetes qui expose l'API Kubernetes. Il valide et configure également les données des objets d'API, y compris les pods, les services, les déploiements, les contrôleurs de réplication, etc. Le serveur API gère les opérations REST et fournit l'interface de l'état partagé du cluster à travers lequel tous les autres composants interagissent.

etcd (magasin de données)

Le magasin de données etcd est le backend Kubernetes, qui contient les informations de cluster dans des paires clé-valeur. Dans Kubernetes, il existe un concept d'état souhaité et état réel . Kubernetes utilise etcd pour surveiller ces deux états. S'ils divergent, Kubernetes apporte des modifications pour réconcilier l'état réel et l'état souhaité. Ceci est surveillé à l'aide du magasin de données distribué etcd.

planificateur de kube

Le kube-scheduler est un composant du plan de contrôle qui affecte principalement les pods non planifiés au nœud concerné en fonction de son utilisation de la mémoire. L'utilisation de la mémoire et les contraintes matérielles/logicielles sont prises en compte lors de la définition d'un nœud pour certains facteurs d'application tels que les politiques de réseau.

kube-control-manager

Le kube-control-manager est un composant du plan de contrôle qui exécute le processus de contrôle. En général, un processus de contrôle est une boucle qui vise à rendre l'état souhaité égal à l'état actuel pour n'importe quelle application à n'importe quel moment donné.

Composants du nœud de travail

Qu'est-ce qu'un noeud worker ?
Un nœud de travail exécute les applications conteneurisées et rend compte en permanence au serveur API du plan de contrôle sur sa santé.

Il a les composants suivants :

kubelets

Le kubelet est un agent qui s'exécute sur chaque nœud d'un cluster Kubernetes, garantissant que les conteneurs à l'intérieur des pods fonctionnent et sont sains. Il communique en permanence avec l'API Kubernetes pour relayer les informations de santé des pods.

kube-proxy

Le kube-proxy est un proxy réseau qui s'exécute sur chaque nœud d'un cluster Kubernetes. Il maintient les règles du réseau sur tous les nœuds, permettant une communication fluide entre les éléments du pod à l'intérieur et à l'extérieur du cluster.

Exécution du conteneur

C'est un logiciel qui est responsable de l'exécution des conteneurs à l'intérieur des nœuds du cluster. Les exemples incluent CRI-O, containerd, Docker, etc.

[ Obtenez cet ebook gratuit :Gérer vos clusters Kubernetes pour les nuls. ]

Quelle est la prochaine ?

Dans cet article de deux blogs, j'ai couvert l'architecture Kubernetes et ses composants. J'ai fait un effort humble et simple pour expliquer les machines virtuelles, les concepts de conteneurs et l'architecture de cluster de base de Kubernetes.

[ Les différences entre Kubernetes et OpenShift peuvent être trouvées dans ce nouvel ebook. ]

Références :composants Kubernetes


Linux
  1. Guide de l'administrateur système pour la configuration d'un serveur de messagerie

  2. Qu'est-ce qu'un administrateur système ?

  3. Un guide des panneaux de configuration Linux chez Vultr

  4. Un guide des panneaux de configuration Linux chez Vultr

  5. Dépannage de base de Nginx

Un guide pour débutants sur LVM

Contrôle audio avancé sous Linux

Composants principaux d'un cluster Kubernetes

Un guide du débutant sur les tâches Cron

Un guide de base du processus de démarrage Linux

Guide complet du débutant sur le déploiement du cluster Kubernetes sur CentOS (et autres Linux)