Comprendre Kubernetes dans les conteneurs – OpenText Blogs

Kubernetes est un système d’automatisation du déploiement, de la mise à l’échelle et de la gestion des applications conteneurisées. Il s’agit d’un système open source fournissant une plate-forme pour exécuter des conteneurs sur site (hors cloud), hybrides ou dans une infrastructure de cloud public. Ce blog expliquera les différents composants de Kubernetes et les définitions standard et comment ils fonctionnent dans les applications conteneurisées.
Tout d’abord, regardons le cluster Kubernetes. Un cluster Kubernetes est un système dans lequel les conteneurs s’exécutent et se regroupent dans un ensemble de machines de travail appelées nœuds qui exécutent des applications conteneurisées. Chaque cluster a au moins un noeud worker pour exécuter les applications. Le nœud de travail hébergera les pods qui peuvent exécuter des conteneurs. Vous trouverez ci-dessous la liste de certains composants liés à Kubernetes et une explication de leur rôle dans les applications conteneurisées.
- Le moteur Kubernetes – est un système de gestion et d’orchestration des conteneurs. Il est utilisé pour créer ou gérer un conteneur sur des clusters et pour créer des pods de conteneur, des contrôleurs de réplication, des tâches, des services ou des équilibreurs de charge.
- YAML – un langage de sérialisation de données et utilisé pour travailler avec un cluster Kubernetes. Il est utilisé pour écrire des fichiers de configuration à appliquer sur un cluster.
- Nœud – il peut s’agir d’une machine virtuelle ou physique selon le cluster, mais le nœud exécute les pods réels et fournit un environnement sur lequel les conteneurs peuvent s’exécuter.
- Gousses – les plus petites unités informatiques déployables pouvant être créées et gérées dans Kubernetes.
Vous trouverez ci-dessous un exemple de configuration Pod creationYAML pour un cluster Google Cloud :

Dans cet exemple, les spécifications de nom et d’étiquette de pod définissent les métadonnées du pod, et la spécification de pod a une balise d’image à partir de laquelle elle extraira l’image et créera le conteneur. La balise de commande a la commande à exécuter lorsque le pod est créé et que le conteneur a été instancié. La balise arguments contiendra les arguments de cette commande. Dans l’exemple donné, une commande shell est instanciée et exécute le script de démarrage tomcat.
- Kubect – est la commande clé pour fonctionner sur n’importe quel moteur Kubernetes et un outil de ligne de commande qui permet aux utilisateurs d’exécuter des commandes sur Kubernetes. Voir l’exemple de la commande Kubectl avec l’application d’un yaml : kubectl apply -f /path-to-yaml
- ReplicaSet’s – maintenir un ensemble stable de répliques de pods s’exécutant sur un cluster à tout moment. Il garantit que le nombre spécifié de pods identiques est disponible à tout moment.
- Déploiement – un ensemble de pods multiples et identiques sans identités uniques. Un déploiement exécute plusieurs répliques de pods et remplace automatiquement les pods/instances en cas d’échec. Les déploiements peuvent faire évoluer le nombre de répliques de pods et déployer le code mis à jour de manière contrôlée ou revenir facilement à une version de déploiement antérieure.
- Un service – une abstraction logique pour un groupe de pods déployés dans un cluster. Comme les pods sont vulnérables et peuvent être détruits et recréés, il sera difficile de travailler avec un pod spécifique car il peut se terminer de manière inattendue.
- Détartreur Horizontal Pod Auto (HPA) – mettra automatiquement à l’échelle le nombre de pods dans un contrôleur de réplication, un déploiement, un ensemble de répliques ou un ensemble avec état en fonction des métriques observées de l’utilisation des ressources. Il surveille en permanence les métriques des composants configurés et fonctionne en fonction des configurations. Par exemple, s’il est nécessaire de surveiller en permanence l’utilisation du processeur et d’augmenter la disponibilité des pods, dans ce cas, HPA peut être utilisé pour mettre à l’échelle automatiquement les pods : kubectl autoscale déploiement tomcat-deployment –cpu-percent=80 –min=5 –max=10. Cet exemple mettra à l’échelle automatiquement un déploiement appelé tomcat-deployment pour maintenir au moins 5 pods dans des conditions normales et augmentera ce nombre jusqu’à un maximum de 10 pods à condition que l’utilisation du processeur dépasse 80 %.
- Barre est un gestionnaire de packages pour Kubernetes.
Les composants mentionnés ci-dessus fonctionnent ensemble pour fournir l’expérience transparente des services d’application dans lesquels les composants défaillants seront automatiquement remplacés et maintenus et seront mis à l’échelle selon les besoins en fonction des règles prédéfinies sur les métriques, ce qui empêcherait le plantage de l’application. Cela réduira l’intervention manuelle et augmentera la fiabilité et la disponibilité du système.
Kubernetes peut gérer la mise à l’échelle et le basculement des applications et fournit des modèles de déploiement et de nombreuses autres fonctionnalités pour les conteneurs. Kubernetes est une solution rentable pour les applications qui ont besoin d’orchestrer des applications conteneurisées pour s’exécuter sur un cluster d’hôtes CI/CD simplifiés.
Pour en savoir plus sur la conteneurisation des produits OpenText, veuillez contacter Services professionnels OpenText™.
Auteur: Jayaram Patnala – Architecte, Services gérés d’entreprise
Source link