Les logiciels Kubernetes et Docker, sont respectivement des logiciels d’orchestration et de conteneurisation. Ces applications ont littéralement transformé la manière dont les applications sont déployées, développées et gérées.
Docker et la conteneurisation
Au lieu d’installer un système d’exploitation complet sur votre ordinateur, Docker utilise un seul système d’exploitation serveur. Comme Mac OS ou Linux, qui sert de base. Ensuite, Docker installe un logiciel spécial (un peu comme une boite magique) qui peut créer et gérer des conteneurs.
Vous déclarez les conteneurs en spécifiant ce dont ils ont besoin pour fonctionner. Par exemple, vous pouvez dire « j’ai besoin d’un conteneur avec une application web et un conteneur avec une base de données ». Ces conteneurs sont comme des petits espaces isolés où vos applications peuvent fonctionner.
Docker s’occupe de garder ces conteneurs séparés et bien organisés, tout comme vous organiseriez des outils dans une boite à outils. Chaque conteneur content uniquement ce qui est nécessaire pour faire fonctionner une application, sans gaspiller de ressources.
En fin de compte, grâce à Docker, vous n’avez besoin que de fichiers essentiels pour exécuter vos applications. Vous ne prenez pas tout le système d’exploitation avec vous, juste les éléments nécessaires. Ces fichiers sont placés dans des conteneurs, et ces conteneurs sont rangés dans des répertoires, tout propre et bien rangé.
Les image Docker et les conteneurs Repository.
Pour exécuter des logiciels virtuels avec Docker, nous utilisons ce que l’on appelle des « images Docker ». Imaginez ces images comme des boites magiques qui contiennent tout ce dont un logiciel a besoin pour fonctionner correctement, comme son code, un environnement d’exécution, des pilotes, des outils, des scripts, des bibliothèques et bien plus encore.
Ces images Docker ont été rendues plus pratique grâce à l’apparition des « dépôts de conteneurs » appelé conteneurs repository. Ces dépôts sont des endroits centraux où ces images sont stockées. Cela signifie que vous pouvez facilement trouver et télécharger les images dont vous avez besoin à partir de ces dépôts, comme si vous choisissiez des outils en magasin bien organisé.
En résumé, les images Docker sont des boites magiques qui contiennent tout le nécessaire pour exécuter un logiciel virtuel, et les dépôts de conteneurs sont des endroits où vous pouvez facilement trouver et obtenir ces images. Cela simplifie grandement le processus de gestion et de distribution des logiciels dans le monde de Docker.
Kubernetes, le chef d’orchestre
Pour expliquer simplement comment fonctionne Kubernetes, imaginez qu’il est comme un chef d’orchestre pour des groupes de danseur.
Le chef d’orchestre (Kubernetes), doit s’assurer que toutes les applications (danseurs) fonctionnent correctement et sans problèmes. Il sait où chaque danseur doit se trouver et comment elles doivent se placer.
Les danseurs représentent une application ou un service. Par exemple, un danseur peut être un site web, un service de messagerie, ou une base de données. Chaque danseur a besoin d’un endroit où danser (un serveur) et d’autres danseurs peuvent avoir besoin de travailler ensemble.
Les instructions de danse (manifestes), sont là pour que les danseurs sachent comment danser, le chef d’orchestre leur donne des instructions. Ces instructions sont comme des feuille de danse, qui disent à chaque service comment se déplacer, où aller, et comment interagir avec les autres services.
Le plan de scène (cluster) est le lieu où se déroule la danse (l’application ou service), on l’appelle un « cluster ». C’est l’endroit où tous les danseurs se produisent. Le cluster est composé de plusieurs serveurs, appelés nœuds, qui sont comme des scènes où les danseurs peuvent se produire.
Les danseurs (applications) ne dansent pas toujours de la même manière. Parfois, ils ont besoin de plus d’espace, parfois de moins. Kubernetes surveille constamment la performance des danseurs et ajuste leur emplacement et leur nombre en temps réel pour assurer que tout se passe bien. Si l’un des danseurs tombe malade (par exemple un serveur tombe en panne), Kubernetes s’assure qu’un autre danseur prenne sa place pour que la danse continue sans interruption.
Lorsque de nouvelles instructions de danse sont disponibles (nouvelle version d’une application), Kubernetes peut mettre à jour les danseurs en douceur sans perturber la danse en cours.
Le tandem gagnant : Docker et Kubernetes
Pour donner une image simple, imaginez que Kubernetes est le chef d’orchestre qui surveille attentivement son étagère de boites Docker. Si une boite Docker tombe ou a besoin d’être déplacée, il la replace automatiquement à la bonne place. Si une nouvelle boite Docker est nécessaire, il sait comment la créer et la placer sur l’étagère. Il s’assure également que toutes les boites Docker ont tout ce dont elles ont besoin pour bien fonctionner.
Ensemble, Docker et Kubernetes permettent de gérer et de faire fonctionner de nombreuses applications de manière ordonnées et efficace, tout comme un chef d’orchestre qui coordonne un grand orchestre pour produire de la belle musique.