docker compose vs kubernetes

docker compose vs kubernetes
docker compose vs kubernetes

Quelle est la différence entre ces deux outils très populaires dans l’univers du devops (docker compose vs kubernetes) ? C’est une question qui revient souvent à laquelle je vais tenter de répondre.

docker compose vs kubernetes

Outil docker compose

Docker compose est un outil très intéressant de gestion de package docker. Cet outil va lancer vos conteneurs et leurs éventuels liens à partir d’un fichier de configuration écrit en yaml. Nous pourrions comparer cet outil à apt-get ou composer mais dans le but de packager des conteneurs docker. Cet outil vient simplifier la vie aux utilisateurs de docker.

Voici un exemple pour comprendre :

systeme sous docker compose - docker compose vs kubernetes
systeme sous docker compose – docker compose vs kubernetes

Docker compose permet de créer ici, 4 conteneurs qui sauront communiquer ensemble pour délivrer un site web complet à notre utilisateur. Si la notion de conteneur n’est pas clair, imaginez 4 serveurs virtuels qui utilisent les mêmes ressources communes comme le système d’exploitation.

J’explique la notion de conteneur dans cet article : lire l’article.

Pour créer ces 4 conteneurs, nous écrivons un fichier simple sous le format .yaml.

fichier Yaml
exemple fichier Yaml

Ne cherchez pas plus loin, docker compose ce n’est pas plus compliqué que ça. Maintenant sa maîtrise peut s’avérer difficile à certains moments.

kubernetes

Kubernetes propose une gestion de conteneurs qui va permettre de gérer et de déployer des clusters de containers Docker avec des concepts comme du load balancing sur X serveurs grâce à un master.

Nous appelons ce type d’outils, des orchestrateurs de conteneurs.

Architecture Kubernetes
Architecture Kubernetes – docker compose vs kubernetes

Donc Kubernetes apporte une dimension supplémentaire par rapport à docker compose : « les cluster » et « load balancing ». Bien qu’il serait possible de mettre un load balancing avec du docker compose, ça serait très complexe. De plus, il faudrait multiplier les lignes car docker compose n’a pas la vocation de multiplier la parallélisation des systèmes identiques.

Architecture complexe avec docker compose - docker compose vs kubernetes
Architecture complexe avec docker compose – docker compose vs kubernetes

Cette architecture serait possible avec docker compose mais elle serait vite confrontée à de vrais problèmes majeurs :

  • comment faire face à une grosse montée en charge ?
  • comment automatisée la montée de nouveaux conteneurs

Et en effet, ces systèmes sont « fixes ». Nous ne pourrons pas vraiment scripter une scallabilité réelle (certains fous pourraient écrire le docker compose file en live). Kubernetes lui va permettre grâce à ces notions de clusters d’automatiser tout le système intégralement pour répondre à ces problématiques.

Il répond à d’autres problématiques mais l’idée de cet article est de comprendre que docker compose et kubernetes ne sont pas des outils utilisés pour les mêmes besoins.

Du coup, les outils de monitoring de kubernetes sont 100% adaptés à l’activité d’orchestrateur de conteneurs. Car en effet, contrairement à docker compose, c’est réellement son activité principale.

outil de monitoring de kubernetes – docker compose vs kubernetes

Conclusion docker compose vs kubernetes

J’espère que cet article vous aura un peu éclairé sur la différence entre es deux outils. J’ai tenté de simplifier au maximum mon explication mais il est vrai que par défaut, il est indispensable d’avoir des connaissances dans ce domaine.

Lien utile : articles docker en anglais

[ Article lu 1 fois aujourd'hui ]
A propos Judicaël Paquet 526 Articles
  Paquet Judicaël (coach agile et devops sénior) Mes activités en France et en Suisse : - architecte de transformation agile - formations agiles personnalisées - sensibilisations et coaching de manager - audits de maturité agile et de situations - coaching agile (équipes, orga, product owner, scrum master, coach agile) Spécialités : scrum, kanban, management 3.0, agilité à l’échelle, lean startup, méthode agile. [Suisse/France]

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.