Qu’est-ce que Kubernetes ?
Kubernetes, souvent abrégé « K8s », orchestre des applications conteneurisées afin qu’elles puissent être exécutées sur un cluster d’hôtes. Le système K8s automatise le déploiement et la gestion d’applications Cloud à l’aide d’une infrastructure on premise ou de plates-formes de Cloud public. Il distribue les charges de travail applicatives sur un cluster Kubernetes et automatise les besoins des conteneurs réseau dynamiques. Kubernetes alloue également du stockage et des volumes persistants aux conteneurs en cours d’exécution, fournit une scalabilité automatique et s’efforce en permanence de maintenir l’état souhaité pour les applications, assurant ainsi la résilience.
Découvrez comment les entreprises utilisent Kubernetes pour concevoir, déployer et exécuter des applications modernes à grande échelle.

Kubernetes en 5 minutes

L’état de Kubernetes 2021
Fonctionnalités de Kubernetes
Kubernetes offre de nombreuses fonctionnalités qui permettent d’orchestrer les conteneurs sur plusieurs hôtes, d’automatiser la gestion des clusters K8s et d’optimiser l’utilisation des ressources via une meilleure utilisation de l’infrastructure. Voici les fonctionnalités essentielles de la plate-forme :
- Scalabilité automatique : augmentez ou réduisez automatiquement la capacité des applications conteneurisées et de leurs ressources en fonction de l’utilisation
- Gestion du cycle de vie : automatisez les déploiements et les mises à jour avec la possibilité de :
- revenir aux versions précédentes
- interrompre et reprendre un déploiement
- Modèle déclaratif : déterminez l’état souhaité et K8s s’efforcera, en arrière-plan, de maintenir cet état et de procéder à la récupération après les pannes.
- Résilience et autoréparation : le positionnement automatique, le redémarrage automatique, la réplication automatique et la scalabilité automatique assurent l’autoréparation des applications
- Stockage persistant : possibilité de monter et d’ajouter du stockage de manière dynamique
- Équilibrage de charge : Kubernetes prend en charge diverses options d’équilibrage de charge internes et externes pour répondre à divers besoins
- Prise en charge de DevSecOps : DevSecOps est une approche sophistiquée de la sécurité qui simplifie et automatise les opérations de conteneurs dans les Clouds, intègre la sécurité tout au long du cycle de vie des conteneurs et permet aux équipes de fournir rapidement des logiciels sécurisés de haute qualité à leurs clients. La combinaison des pratiques DevSecOps et de Kubernetes améliore la productivité des développeurs.
L’architecture Kubernetes et son fonctionnement
Les conteneurs encapsulent une application dans un format portable et facile à déployer. L’architecture Kubernetes est conçue pour l’exécution d’applications conteneurisées. Un cluster Kubernetes se compose d’au moins un plan de contrôle et d’au moins un nœud de travail (généralement un serveur physique ou virtuel). Le plan de contrôle a deux responsabilités principales. Il expose l’API Kubernetes via le serveur d’API et gère les nœuds qui constituent le cluster. Le plan de contrôle prend des décisions concernant la gestion des clusters et assure la détection des événements de cluster ainsi que la réponse à ceux-ci.
La plus petite unité d’exécution pour une application exécutée dans Kubernetes est le pod Kubernetes, qui se compose d’un ou de plusieurs conteneurs. Les pods Kubernetes s’exécutent sur des nœuds de travail.
Terminologie supplémentaire relative à Kubernetes
Il est important de connaître les noms et les fonctions des principaux composants du système K8s qui font partie du plan de contrôle ou qui s’exécutent sur les nœuds Kubernetes.
Le plan de contrôle comprend quatre composants principaux utilisés pour contrôler les communications, gérer les nœuds et suivre l’état d’un cluster Kubernetes.
- Kube-apiserver : comme son nom l’indique, kube-apiserver expose l’API Kubernetes.
- etcd : magasin clé-valeur dans lequel sont stockées toutes les données relatives au cluster Kubernetes.
- Kube-scheduler : surveille les nouveaux pods Kubernetes sans nœuds affectés et leur affecte un nœud pour l’exécution en fonction des ressources, des règles et des spécifications « d’affinité ».
- Kube-controller-manager : toutes les fonctions de contrôleur du plan de contrôle sont compilées dans un fichier binaire unique appelé « kube-controller-manager ».
Un nœud K8s se compose de trois éléments principaux :
- Kubelet : agent qui s’assure que les conteneurs nécessaires s’exécutent dans un pod Kubernetes.
- Kube-proxy : proxy réseau qui s’exécute sur chaque nœud d’un cluster pour préserver les règles de réseau et permettre la communication.
- Runtime de conteneurs : le logiciel responsable de l’exécution des conteneurs. Kubernetes prend en charge tous les environnements d’exécution compatible avec l’interface d’exécution de conteneur (CRI) de Kubernetes.
Autres termes à connaître :
- Service Kubernetes : un service Kubernetes est une abstraction logique pour un groupe de pods Kubernetes qui exécutent tous la même fonction. Les services Kubernetes se voient attribuer des adresses uniques qui restent les mêmes même lorsque les instances de pod changent.
- Contrôleur : les contrôleurs s’assurent que l’état actuel du cluster Kubernetes est aussi proche que possible de l’état souhaité.
- Opérateur : les opérateurs Kubernetes vous permettent d’encapsuler les connaissances propres à un domaine pour une application similaire à un manuel d’exécution. En automatisant les tâches spécifiques aux applications, les opérateurs vous aident à déployer et à gérer plus facilement des applications sur K8s.
Avantages de Kubernetes
La plate-forme Kubernetes doit sa popularité à un certain nombre d’avantages importants :
- Portabilité : les conteneurs peuvent être migrés vers de nombreux environnements, qu’ils soient virtuels ou bare metal. Kubernetes est pris en charge par les principaux Clouds publics, ce qui vous permet d’exécuter des applications conteneurisées sur K8s dans de nombreux environnements différents.
- Intégration et extensibilité : Kubernetes est un système extensible qui vous permet de travailler avec des solutions que vous connaissez, comme vos services de journalisation, de surveillance et d’alerte. La communauté Kubernetes travaille à la création de diverses solutions open source pour Kubernetes, créant un riche écosystème à croissance rapide.
- Rentabilité : grâce à l’optimisation des ressources inhérente à Kubernetes, à la scalabilité automatisée et à la flexibilité nécessaire pour exécuter les charges de travail là où elles offrent le plus de valeur, vous gardez le contrôle sur vos dépenses informatiques.
- Scalabilité : les applications Cloud évoluent horizontalement. Kubernetes utilise la scalabilité automatique, qui permet de déployer des instances de conteneurs supplémentaires et d’évoluer selon une scalabilité horizontale automatiquement selon la demande.
- Basé sur des API : la structure fondamentale de Kubernetes repose sur son API REST. Tous les éléments de l’environnement Kubernetes peuvent être gérés par programmation.
- Intégration et livraison continues (CI/CD) simplifiées : la stratégie d’intégration et livraison continues (CI/CD) est une pratique DevOps qui automatise la conception, les tests et le déploiement d’applications dans les environnements de production. Les entreprises intègrent Kubernetes et la stratégie CI/CD pour créer des pipelines CI/CD scalables qui s’adaptent dynamiquement à la charge.
Qu’est-ce que l’orchestration des conteneurs ?
L’orchestration des conteneurs automatise la plupart des tâches nécessaires à l’exécution des charges de travail et des services conteneurisés, notamment les opérations essentielles au cycle de vie des conteneurs Kubernetes : provisionnement, déploiement, scalabilité, gestion du réseau et équilibrage des charges.
Kubernetes et Docker
Docker est une plate-forme logicielle utilisée pour créer des applications conteneurisées. K8s automatise le processus d’exécution d’applications Cloud conteneurisées et créées avec Docker ou d’autres outils. Les entreprises utilisent souvent Docker et Kubernetes conjointement.
Solutions et produits associés
Tanzu Kubernetes Grid
Gestion de Kubernetes adaptée aux besoins des entreprises
Tanzu Community Edition
Lancez VMware Tanzu gratuitement sur votre station de travail locale ou votre Cloud, en quelques minutes seulement
Tanzu Application Platform
Concevez, déployez et gérez des applications sur une plate-forme Kubernetes