¿Qué diferencias funcionales hay entre kubernetes, rancher y mesos?

16

¿Cuáles son las principales diferencias de características de las populares herramientas de orquestación de contenedores kubernetes, rancher y mesos?

¿Qué te llevaría a elegir uno sobre el otro?

gusano
fuente
Hmm, esto podría ser demasiado amplio como es. Si elimina el "etc" y cambia el título para preguntar solo sobre kuber / rancher / mesos específicamente, probablemente será una buena Q.
Peter G
2
He editado la pregunta según sus sugerencias para que sea un poco más finita.
tayworm
Aunque me interesaría saber sobre otras herramientas de orquestación que cambien el juego.
tayworm

Respuestas:

16

En primer lugar, Rancher en realidad contiene implementaciones de Kubernetes y Mesos dentro de sí mismo. Sin embargo, hicieron su propio sistema llamado Ganado, que se basa en gran medida en el enjambre de Docker. Me referiré a esto en la sección de Rancher.

En segundo lugar, dado que cada uno ofrece características básicas similares (equilibrio de carga, aislamiento de recursos, etc.) intentaré profundizar en lo que los hace diferentes en lugar de centrarme en las diferencias entre esas características comunes a menos que sean significativas.

Kubernetes

Altamente enfocado en el rendimiento, que también presenta la orquestación de almacenamiento en la nube (una característica que falta en Mesos, aunque probablemente haya un complemento para ello). Tiene opciones de API para permitir el escalado automático del uso de recursos según lo necesiten los contenedores individuales (y por el contrario si un contenedor no está siendo golpeado con fuerza mientras que otros lo están).

Algo importante sobre Kubernetes es que, a diferencia de otro software de orquestación de contenedores, no proporciona una configuración integral ni ningún tipo de autocuración integral. En cambio, se enfoca en la implementación continua de múltiples aplicaciones con un sistema de reversión fácil en el nivel de la aplicación (como resultado, es posible que desee examinar los microservicios cuando lo use).

Cada aplicación es una pieza pequeña y se puede implementar / configurar individualmente. En sus documentos señalan que Kubernetes no es un sistema tradicional de PaaS (plataforma como servicio), ya que carece de middleware para hardware virtual o bases de datos y no construye su propia aplicación. Está diseñado para (como dicen ellos mismos) eliminar la necesidad de orquestación manual de contenedores, en lugar de automatizar el proceso presionando continuamente hacia un estado de aplicación objetivo.

Mesos

Monolítico en comparación con Kubernetes. Se centra en el panorama general más que en los servicios individuales, aunque todavía permite la gestión de servicios individuales. Proporciona middleware incorporado para cosas como Spark, Hadoop, etc. El mejor uso de Mesos implicará muchos complementos, ya que está diseñado para ampliarse fácilmente.

Si necesita un control detallado sobre la administración de su aplicación (en la medida en que haya un complemento disponible para lo que desea hacer o si tiene un miembro del equipo dispuesto a construir uno si no lo hay), querrá usar Mesos.

Ganadero (y ganado)

Potencialmente, la mejor opción es que es un superconjunto de los dos anteriores, que tiene una implementación de ambos. Esto también puede verse como un inconveniente, ya que más complicaciones en su software de gestión rara vez son algo bueno y pueden conducir a problemas imprevistos.

Rancher presenta un catálogo de aplicaciones que permite la implementación con un solo clic, algo que Kubernetes no tiene debido a su filosofía de diseño. Sin embargo, dado que Rancher tiene una implementación de Kubernetes, puede usar Rancher si cree que estas características faltan en Kubernetes.

El ganado se basa en un sistema de pila, donde se agrupan los servicios relacionados. También alberga Rancher Compose, una característica similar al servicio Docker del mismo nombre. Esta es probablemente la parte más interesante de Cattle, el resto es bastante estándar (aunque la gestión secreta todavía está en beta). Si tiene experiencia con Docker Compose, debería leerlo aquí (no, así que probablemente no soy la mejor persona para escribir sobre él).

Recursos: " ¿Qué es Kubernetes? ", " Descripción general del ganadero ", " mesos.apache.org: '¿Qué es Mesos?' "

Peter G
fuente