Kubernetes (k8s): Un système d'orchestration de conteneurs open source par Google.
Origine du nom : Kubernetes a un mot long et les 8 lettres du milieu sont généralement omises, appelées k8s.
Il est situé entre les services d'application et les serveurs, coordonnant et gérant plusieurs services d'application via des politiques.
Grâce à la configuration des fichiers YAML, le déploiement automatique, le redémarrage automatique ainsi que l'expansion et la contraction automatiques des applications sont réalisés.
Architecture Kubernetes
Avion de contrôle: Equivalent du cerveau du cluster, chargé de gérer et de contrôler les nœuds de travail.
Les composants comprennent :
Serveur API: Fournit une interface API pour les ressources du service d’exploitation.
Planificateur: Responsable des décisions de planification des ressources.
Responsable du contrôle: Responsable de la création et de l'arrêt des services applicatifs.
etc.: En tant que couche de stockage, il enregistre l'état et les données du cluster.
Nœud de travail (Nœud): Equivalent aux mains et aux pieds du cluster, responsables de l'exécution des tâches et de l'exécution des services applicatifs.
Les composants comprennent :
Cosse: L'instance en cours d'exécution du conteneur, la plus petite unité de planification dans k8.
Kubelet: Responsable de la gestion du cycle de vie du Pod.
Exécution du conteneur: Responsable de la gestion du cycle de vie des conteneurs, tels que Docker.
Proxy Kube: Responsable du proxy réseau de Node et du transfert des demandes.
Concepts de base de Kubernetes
Grappe: se compose d'un plan de contrôle et de plusieurs nœuds de travail.
Image du conteneur: fichiers packagés contenant le code de l'application et les environnements dépendants.
Récipient: L'unité en cours d'exécution du service d'application.
Cosse: Une collection d’un ou plusieurs conteneurs qui partagent des ressources réseau et de stockage.
Outils opérationnels Kubernetes
kubectl: L'outil de ligne de commande fourni par k8s est utilisé pour interagir avec l'API k8s et simplifier le déploiement et la gestion des services.
Processus de déploiement et d’appel du service
Service de déploiement : déployez des services en écrivant des fichiers YAML et en exécutant des commandes kubectl.
appel de service: les requêtes externes entrent dans le cluster via le contrôleur Ingress et sont transmises au pod correspondant par Kube Proxy.
Avantages de Kubernetes
Automatisez le déploiement, le redémarrage et la mise à l’échelle.
Simplifiez le déploiement des services ainsi que les processus d’exploitation et de maintenance.
Soutenir la gestion de services de conteneurs à grande échelle.
Résumer
k8s est un puissant outil d'orchestration de conteneurs qui réalise une gestion et une planification automatisées des services d'application grâce au travail collaboratif du plan de contrôle et des nœuds de travail.
Le plan de contrôle est responsable de la prise de décision et de l'émission des instructions, et les nœuds de travail sont responsables de l'exécution des tâches et de l'exécution des applications.
Grâce à l'outil kubectl, les utilisateurs peuvent facilement interagir avec l'API k8s pour réaliser un déploiement et une gestion rapides des services.