Dans cet article, nous allons démystifié Kubernetes cette bêtes de l’orchestration de containers docker ou autre moteur d’exécution de container dont vous avez entendu parler mais ne savez pas ce qu’elle fait exactement.
Un peu d’historique !
Avec l’avènement des technologies de containérisation telle que Docker et les systèmes d’informations à la base d’architecture microservice composée de dizaines voire même de centaines de petits services tournant dans des containers dockers. Tous ceci sur un nombre important de serveurs. La gestion, le déploiement et la supervision des containers d’un tel système d’information devient très vite laborieuse voire même impossible manuellement. De même la gestion des resources serveurs disponibles et leurs évolutions n’est pas simple manuellement
Kubernetes a été ainsi réfléchit dans l’optique de simplifiées la gestion de ce genre de système d’information.
C’est donc quoi kubernetes ?

Kubernetes est un composant logiciel permettant la gestion et le déploiement de containers, on parle aussi de système d’orchestration de containers.
Kubernetes crée une abstraction sur les serveurs exécutant les containers en les représentants par des noeuds d’exécution, qui se traduit pas des ressources systèmes disponible pour l’exécution des containers. Ce niveau d’abstraction crée par kubernetes permet de ne pas distinguer le flot de déploiement d’un SI à 100 serveurs de celui de 10 serveurs voire même sur une machine de développement local car ces N serveurs sont représentés par des noeuds d’exécution que kubernetes va utiliser pour l’exécution des containers.
Ainsi il est donc question pour le développeur ou l’équipe devops de décrire l’application ou les applications du SI dans un fichiers en précisant les containers ainsi que les contraintes de cloisonnement et de ressources systèmes nécessaire pour l’exécution des containers, ce fichier est ainsi fournit à kubernetes qui va planifier l’exécution des ces containers sur les differents noeuds d’exécution à disposition.
Après le déploiement des containers, kubernetes continue d’assurer qu’en tous moment nos contraintes décrit dans le fichiers de description de nos applications sont respectées. En guise d’exemple, il est possible de préciser le nombre de replica d’un container comme contraintes à kubernetes et kubernetes s’assure qu’à un tout moment on a ce nombre de replica de ce container et prends les mesure nécessaire en cas d’échec du container.