Qu’est-ce que Kubernetes ?
Kubernetes est un outil d’orchestration de conteneurs. Conçu par Google, cet outil permet d’automatiser et gérer le déploiement de conteneurs, des packages logiciels portables qui renferment l’ensemble des fichiers binaires, bibliothèques, fichiers de configuration et autres dépendances indispensables à l’exécution du programme logiciel concerné.
Qu’est-ce que l’orchestration de conteneurs ?
Ce concept décrit l’automatisation des tâches courantes de gestion de conteneurs, telles que le déploiement, la mise à l’échelle et la mise en réseau. Au lieu de déployer manuellement vos microservices et vos applications Web en environnement de production, les outils d’orchestration de conteneurs comme Kubernetes vous permettent de créer des workflows automatisés.
Anatomie d’un cluster Kubernetes
Kubernetes regorge de fonctionnalités conçues pour vous aider à mettre en service et déployer vos propres programmes logiciels conteneurisés.
Pour mieux comprendre ce qu’est Kubernetes, le mieux est de commencer par examiner ce que renferme un cluster Kubernetes classique :
- Pods : la plus petite unité de calcul déployable que vous pouvez créer et gérer dans Kubernetes, en partant d’un seul conteneur pour s’étendre à plusieurs conteneurs exécutés sur les mêmes ressources de stockage/réseau partagé.
- Nœuds : les machines de travail (virtuelles ou physiques) qui hébergent les pods formant une charge applicative. Chaque nœud comprend au moins un Kubelet, c’est-à-dire un agent qui veille à ce que les conteneurs décrits s’exécutent correctement dans le pod sur un cluster.
- Plan de contrôle : la couche d’orchestration qui expose l’API que vous utilisez pour gérer vos conteneurs, vos pods et vos nœuds.
- Compléments : certaines fonctions, comme le DNS de cluster, étendent les fonctionnalités d’un cluster pour fournir un serveur DNS ou une interface Web que l’on peut utiliser comme tableau de bord général pour surveiller et dépanner les applications exécutées dans le cluster, ou même le cluster lui-même.