Quelles différences fonctionnelles existe-t-il entre kubernetes, rancher et mesos?

16

Quelles sont les principales différences de fonctionnalités entre les outils populaires d'orchestration de conteneurs Kubernetes, Rancher et Mesos?

Qu'est-ce qui vous amènerait à choisir l'un plutôt que l'autre?

tayworm
la source
Hmm, cela pourrait être trop large tel quel. Si vous supprimez le "etc" et modifiez le titre pour ne poser que des questions sur kuber / rancher / mesos en particulier, ce sera probablement un bon Q.
Peter G
2
J'ai édité la question selon vos suggestions pour être un peu plus finie.
tayworm
Bien que je serais intéressé à entendre parler d'autres outils d'orchestration qui changent la donne.
tayworm

Réponses:

16

Tout d'abord, Rancher contient en fait des implémentations de Kubernetes et Mesos. Cependant, ils ont fait leur propre système appelé Cattle qui est fortement basé sur Docker's Swarm. Je vais en parler dans la section pour Rancher.

Deuxièmement, puisque chacun offre des fonctionnalités de base similaires (équilibrage de charge, isolation des ressources, etc.), j'essaierai d'aller plus loin dans ce qui les rend différentes plutôt que de se concentrer sur les différences entre ces fonctionnalités communes, sauf si elles sont significatives.

Kubernetes

Très axé sur les performances, avec également une orchestration du stockage dans le cloud (une fonctionnalité manquante de Mesos, bien qu'il existe probablement un plugin pour cela). Possède des options d'API pour permettre une mise à l'échelle automatisée de l'utilisation des ressources selon les besoins de chaque conteneur (et inversement si un conteneur n'est pas durement touché alors que d'autres le sont).

Quelque chose d'important à propos de Kubernetes est que, contrairement à d'autres logiciels d'orchestration de conteneurs, il ne fournit pas de configuration complète ni aucun type d'auto-réparation complète. Au lieu de cela, il se concentre sur le déploiement continu de plusieurs applications avec un système de restauration facile au niveau de l'application (en conséquence, vous voudrez peut-être examiner les microservices lors de son utilisation).

Chaque application est une petite pièce et peut être déployée / configurée individuellement. Ils soulignent dans leurs documents que Kubernetes n'est pas un système PaaS traditionnel (plate-forme en tant que service) car il manque un middleware pour le matériel virtuel ou les bases de données et il ne construit pas votre application elle-même. Il est conçu pour (comme ils le disent eux-mêmes) supprimer le besoin d'orchestration manuelle des conteneurs, au lieu d'automatiser le processus en appuyant constamment vers un état d'application cible.

Mesos

Monolithique par rapport à Kubernetes. Se concentre davantage sur la vue d'ensemble que sur les services individuels, même si elle permet toujours la gestion des services individuels. Fournit un middleware intégré pour des choses comme Spark, Hadoop, etc. La meilleure utilisation de Mesos impliquera de nombreux plugins car il est conçu pour être facilement étendu.

Si vous avez besoin d'un contrôle précis sur la gestion de votre application (dans la mesure où un plugin est disponible pour ce que vous voulez faire ou si vous avez un membre de l'équipe prêt à en créer un s'il n'y en a pas), vous voudrez utiliser Mesos.

Éleveur (et bétail)

Potentiellement la meilleure option en ce qu'elle est elle-même un surensemble des deux précédents, ayant une implémentation des deux. Cela peut également être considéré comme un inconvénient, car plus de complications dans votre logiciel de gestion sont rarement une bonne chose et peuvent entraîner des problèmes imprévus.

Rancher propose un catalogue d'applications qui permet un déploiement en un clic, ce que Kubernetes n'a pas en raison de sa philosophie de conception. Cependant, étant donné que Rancher a une implémentation de Kubernetes, vous pouvez utiliser Rancher si vous pensez que ces fonctionnalités manquent dans Kubernetes.

Le bétail est basé sur un système de pile, où vous regroupez les services connexes. Il abrite également Rancher Compose, une fonctionnalité similaire au service Docker du même nom. C'est probablement la partie la plus intéressante de Cattle, le reste étant assez standard (bien que la gestion Secret soit toujours en version bêta). Si vous avez de l'expérience avec Docker Compose, vous devriez le lire ici (je ne le sais pas, donc je ne suis probablement pas la meilleure personne pour écrire à ce sujet).

Ressources: " Qu'est-ce que Kubernetes? ", " Présentation de Rancher ", " mesos.apache.org: 'Qu'est-ce que Mesos?' "

Peter G
la source