Pourquoi Kubernetes ?

Kubernetes est le projet le plus populaire de la CNCF. Kubernetes est une couche d’orchestration qui gère les conteneurs à travers un groupe de serveurs physiques ou de VMs. Kubernetes est une plate-forme centrée sur le conteneur.

Kubernetes fonctionne aussi bien sur des piles d’infrastructures on-premise que sur des infrastructures Cloud.

Kubernetes offre de la flexibilité

Kubernetes offre une grande flexibilité par rapport à une solution IaaS : en termes de gestion des ressources, de stockage et de réseau. Dans ce qu’il offre Kubernetes est plus proche d’une solution PaaS. Il permet aux développeurs de s’affranchir de la connaissance de l’infrastructure physique qui va accueillir ses développements.

Kubernetes est pensé pour gérer des milliers de conteneurs

Kubernetes est conçu pour gérer la nature éphémère de milliers de conteneurs. Ces conteneurs démarrent, s’exécutent et s’arrêtent en permanence. Kubernetes gère le versioning des conteneurs, détermine comment les conteneurs peuvent communiquer entre eux sur le réseau, expose les services fonctionnant à l’intérieur des conteneurs et gère les la persistance.

Kubernetes permet d’accélérer rapidement le nombre d’instances de conteneurs en fonction des pics de charges.

Kubernetes facilite le déploiement de nouvelles versions d’applications

Kubernetes permet de mettre à jour une application en production par petits incréments. Il s’occupe aussi du déploiement, de la scalabilité, de l’équilibrage de charge, de la persistance, du monitoring et de l’assemblage de conteneurs. Kubernetes est donc plus qu’un simple orchestrateur de conteneurs.

Kubernetes est une abstraction de l’infrastructure

Pour ce qui est de l’infrastructure, Kubernetes gère l’orchestration des ressources de compute, de stockage et de réseau. Kubernetes est une forme d’abstraction sur ces concepts et permet aux développeurs d’applications de ne pas avoir à les maîtriser.

Kubernetes permet d’automatiser les chaînes de CI/CD

Du côté des conteneurs, Kubernetes permet l’automatisation des workflows de mise en production en facilitant l’intégration d’outils de créations de pipelines d’intégration et de déploiement continu (CI/CD). Ceci permet aux développeurs de faciliter et mécaniser la mise en production de code.

Kubernetes fonctionne par configuration

Kubernetes ne fait pas de différences dans son fonctionnement entre une infrastructure utilisée pour le développement et une infrastructure de production. La configuration des applications se fait de manière déclarative, sans connaissance de l’infrastructure. Contrairement au système classique, la configuration est donc complètement indépendante des ressources physiques. C’est ce qui permet d’assurer la portabilité des applications d’un cluster Kubernetes à un autre.

Liens Intéressants