Que diferenças funcionais existem entre kubernetes, rancheiro e mesos?

16

Quais são as principais diferenças entre as ferramentas populares de orquestração de contêineres kubernetes, rancheiro e mesos?

O que o levaria a escolher um sobre o outro?

tênia
fonte
Hmm, isso pode ser muito amplo como está. Se você remover o "etc" e alterar o título para pedir apenas cerca de Kuber / rancheiro / mesos especificamente provavelmente vai ser uma boa Q.
Peter G
2
Editei a pergunta conforme suas sugestões para ser um pouco mais finita.
tayworm
Embora eu estivesse interessado em ouvir sobre outras ferramentas de orquestração que mudam o jogo.
tayworm

Respostas:

16

Primeiro de tudo, o Rancher realmente contém implementações de Kubernetes e Mesos dentro de si. No entanto, eles criaram seu próprio sistema chamado Cattle, que é fortemente baseado no Docker's Swarm. Vou falar sobre isso na seção Rancher.

Em segundo lugar, como cada um oferece recursos de base semelhantes (balanceamento de carga, isolamento de recursos etc.), tentarei aprofundar o que os torna diferentes, em vez de focar nas diferenças entre esses recursos comuns, a menos que sejam significativos.

Kubernetes

Altamente focado no desempenho, também apresentando orquestração de armazenamento em nuvem (um recurso ausente do Mesos, embora provavelmente exista um plug-in). Possui opções de API para permitir o dimensionamento automatizado do uso de recursos, conforme necessário por contêineres individuais (e vice-versa, se um contêiner não for atingido com força enquanto outros o são).

Algo importante no Kubernetes é que, diferente de outros softwares de orquestração de contêineres, ele não fornece uma configuração abrangente ou qualquer tipo de autocorreção abrangente. Em vez disso, ele se concentra na implantação contínua de vários aplicativos com um sistema de reversão fácil no nível do aplicativo (como resultado, você pode procurar em microsserviços ao usá-lo).

Cada aplicativo é um pedaço pequeno e pode ser implantado / configurado individualmente. Eles fazem questão de afirmar que o Kubernetes não é um sistema tradicional de PaaS (plataforma como serviço), pois não possui middleware para hardware ou bancos de dados virtuais e não cria seu próprio aplicativo. Ele foi projetado para (como se diz) remover a necessidade de orquestração manual de contêineres, automatizando o processo pressionando continuamente em direção a um estado de aplicativo de destino.

Mesos

Monolítico em comparação com Kubernetes. Concentra-se mais no cenário geral do que nos serviços individuais, embora ainda permita o gerenciamento de serviços individuais. Fornece middleware embutido para coisas como Spark, Hadoop, etc. O melhor uso do Mesos envolverá muitos plugins, pois ele foi projetado para ser facilmente estendido.

Se você precisar de um controle refinado sobre o gerenciamento de seu aplicativo (na medida em que houver um plug-in disponível para o que você deseja fazer ou se você tiver um membro da equipe disposto a criar um, se não houver), será necessário usar o Mesos.

Rancheiro (e gado)

Potencialmente, a melhor opção, já que ela própria é um superconjunto dos dois anteriores, tendo uma implementação de ambos. Isso também pode ser visto como uma desvantagem, pois mais complicações no seu software de gerenciamento raramente são boas e podem levar a problemas imprevistos.

O Rancher apresenta um catálogo de aplicativos que permite a implantação com um clique, algo que o Kubernetes não possui devido à sua filosofia de design. No entanto, como o Rancher possui uma implementação do Kubernetes, você pode usá-lo se sentir que esses recursos estão ausentes no Kubernetes.

O gado é baseado em um sistema de pilha, onde você agrupa serviços relacionados. Também abriga o Rancher Compose, um recurso semelhante ao serviço Docker de mesmo nome. Esta é provavelmente a parte mais interessante de Gado, sendo o restante razoavelmente padrão (embora o gerenciamento secreto ainda esteja na versão beta). Se você tem experiência com o Docker Compose, leia-o aqui (não tenho, por isso provavelmente não sou a melhor pessoa para escrever sobre isso).

Recursos: " O que é o Kubernetes? ", " Visão geral do Rancher ", " mesos.apache.org: 'O que é o Mesos?' "

Peter G
fonte