Durée: 12 mois
Rubrique: Ingénieur IA
Kubernetes, souvent abrégé K8s, est une plateforme opensource conçue pour automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées. Conteneurisation signifie exécuter des applications dans des conteneurs, qui sont des unités logicielles légères et portables.
Kubernetes utilise un modèle déclaratif pour gérer les applications. Au lieu de dire à Kubernetes ce qu'il doit faire étape par étape, vous lui fournissez un état désiré, et Kubernetes prend en charge les étapes nécessaires pour atteindre cet état. Il garantit que les applications sont toujours exécutées dans l'état souhaité, en surveillant constamment les composants et en réagissant aux changements.
L'architecture Kubernetes se compose de plusieurs composants essentiels :
L'API Server est le cœur de la communication dans Kubernetes. Il expose l'API Kubernetes et est le point d'entrée pour toutes les commandes administratives.
Un magasin de données clévaleur distribué qui stocke toutes les données de configuration du cluster. etcd est essentiel pour la fiabilité et la haute disponibilité du cluster.
Le Scheduler est responsable de l'affectation des pods aux nœuds dans le cluster. Il prend les décisions basées sur les exigences des pods et les ressources disponibles sur les nœuds.
Le Controller Manager exécute les boucles de contrôle qui régulent l'état du cluster, veillant à ce que l'état actuel du cluster corresponde à l'état souhaité.
Kubelet est l'agent qui s'exécute sur chaque nœud. Il veille à ce que les conteneurs sont exécutés dans des pods et fonctionne comme spécifié par le fichier de description du pod.
Kube Proxy maintient les règles réseau sur chaque nœud, permettant la communication réseau de service en service et assurant un équilibrage de charge.
Kubernetes offre une scalabilité exceptionnelle grâce à la capacité de gérer des centaines de milliers de conteneurs de manière efficace et fiable. Grâce à ses composants modulaires, il permet une grande flexibilité dans le déploiement et la gestion des applications dans des environnements cloud et sur site.