Bases de l’architecture des clusters Kubernetes

La technologie Kubernetes gagne en popularité auprès des entreprises technologiques d’année en année. En bref, le cluster Kubernetes représente un certain nombre de machines abstraites pour le déploiement automatique, l’exécution, la mise à l’échelle et l’administration d’applications conteneurisées. Cette solution open-source a été conçue pour faciliter la gestion de l’infrastructure, et donc rationaliser les processus de développement et de livraison des applications en général. Plongeons dans les bases de l’architecture du cluster Kubernetes pour avoir une idée plus claire de son fonctionnement et des avantages potentiels de son utilisation.

Architecture des clusters Kubernetes

Kubernetes Cluster Architecture

Chaque cluster Kubernetes est constitué d’au moins une instance maîtresse, appelée plan de contrôle, et de plusieurs nœuds ouvriers, qui exécutent le système d’orchestration du cluster. Les nœuds de tête et les nœuds travailleurs peuvent représenter des ordinateurs virtuels ou physiques ou des instances cloud .

Plan de contrôle

Le plan de contrôle est destiné à superviser les instances de travailleurs et à exécuter le serveur API Kubernetes, l’ordonnanceur et tous les principaux contrôleurs. Tous les aspects administratifs, tels que l’interaction entre les éléments du cluster, la persistance de l’état du cluster et la planification de la charge de travail sont gérés dans le nœud principal. En parlant d’environnements de production, le nœud principal fonctionne à travers un certain nombre de machines et un cluster fonctionne à travers un certain nombre de nœuds garantissant la stabilité et la haute disponibilité.

Les interactions entre l’administrateur et le cluster se font par le biais de requêtes API Kubernetes. Elles sont administrées par le nœud maître, puis validées et traitées par le serveur API Kubernetes. Le serveur API exécute également tous les processus internes au cluster, il suit l’état de tous les composants et gère les échanges entre eux.

L’ordonnanceur surveille le serveur API Kubernetes pour les tâches et les pods nouvellement créés et organise les pods d’utilisateurs vers les nœuds de travailleurs en tenant compte des besoins en ressources, de l’emplacement des données, des politiques matérielles et logicielles, des spécifications d’affinité, des délais, etc.

Un magasin clé-valeur est une partie du nœud de contrôle, qui est responsable du stockage de toutes les données du cluster Kubernetes.

Le gestionnaire de contrôleurs surveille l’état actuel des contrôleurs via le serveur API Kubernetes, le compare à l’état souhaité et s’assure qu’ils coïncident. Il exécute également les processus des contrôleurs Node, Job, Endpoints, Service Account et Token.

Le gestionnaire de contrôleurs Cloud est nécessaire pour l’intégration avec les technologies cloud dans le cas où le cluster Kubernetes est exécuté dans le cloud. Il exécute les contrôleurs qui sont spécifiques au fournisseur de services cloud , parmi lesquels : les contrôleurs de nœuds, de routes et de services.

Nœuds de travail

Les agents et éléments principaux du nœud de travail fournissent l’environnement d’exécution du cluster Kubernetes.

Kubelet est exécuté sur chaque nœud du cluster. Il joue le rôle de pipeline entre le serveur API et le nœud, en récupérant les tâches du serveur et en s’assurant que les conteneurs sont exécutés dans le pod utilisateur et fonctionnent correctement.

Kube-proxy est un composant réseau très important (fonctionnant sur chaque nœud ainsi que sur Kubelet) qui gère la traduction et le routage IP. Il surveille et contrôle la conformité aux règles du réseau, permettant l’interaction entre le cluster de réseau interne ou externe et les User Pods.

Le moteur d’exécution de conteneur qui exécute ou arrête les conteneurs se trouve dans chaque nœud de travail. Il peut s’agir de Docker, CRI-O, containerd ou de toute autre interface d’exécution de conteneur Kubernetes.

Composants supplémentaires

  • Infrastructure sur laquelle travailler : machines physiques ou virtuelles, clouds privés, publics ou hybrides, etc.
  • Container Registry pour le stockage des images de conteneurs sur lesquelles repose le cluster Kubernetes
  • Stockage des données d’application attachées au cluster

Déploiement d’un cluster Kubernetes sur la Cloud

Compte tenu de l’architecture assez complexe du cluster Kubernetes, il peut sembler très difficile de le déployer, de le gérer et de le maintenir à jour, ce qui nécessite un service distinct. Avec Hidora Cloud Platform, la solution Kubernetes Cluster est disponible pour une installation automatique en quelques clics.

1. Connectez-vous à votre tableau de bord Hidora Cloud .
2. Naviguez vers le Marché (sous la catégorie Clusters).

3. Trouvez le cluster Kubernetes et spécifiez vos paramètres dans la boîte de dialogue d’installation :

  • Sélectionnez une version de Kubernetes pour votre cluster.
  • Choisissez le tableau de bord de K8s
  • Spécifiez la topologie requise : développement ou production. La topologie de développement comprend un plan de contrôle et un nœud de travail évolutif, celle de production consiste en un plan de contrôle multiple avec des équilibreurs d’API et des travailleurs évolutifs.
  • Sélectionnez le contrôleur d’entrée préféré pour votre cluster (NGINX, Traefik ou HAProxy).
  • Choisissez un cluster propre ou personnalisé pour votre déploiement
  • Activer ou désactiver un stockage NFS dédié avec provisionnement dynamique des volumes (GlusterFS avec trois nœuds supplémentaires)
  • Ajoutez les modules dont vous avez besoin, ils peuvent être activés ultérieurement via les modules complémentaires.
  • Spécifiez le nom de votre environnement
  • Fournir un alias d’environnement
  • Sélectionnez une région

 

4. Cliquez sur Installer et en quelques minutes, la plateforme Hidora Cloud configurera automatiquement votre cluster Kubernetes.

Les technologies d’automatisation d’Hidora Cloud garantissent une intégration harmonieuse et facilitent le travail dans un environnement cloud .

Écrit par

Matthieu Robin Hidora
Matthieu ROBIN
27/01/2022

Matthieu Robin est le CEO de Hidora, un leader stratégique expérimenté, un ancien administrateur système qui a géré et configuré plus d’environnements manuellement que quiconque sur la planète et après avoir compris que cela pouvait être fait en quelques clics a créé Hidora SA. Il intervient régulièrement lors de conférences et aide les entreprises à optimiser leurs processus métier grâce à DevOps. Suivez-le sur Twitter.

Commencer votre essai gratuit

Choissisez votre devise

EUR
CHF

Recevoir nos actualités