swarm que puedo orquestador hacer gratis español entre diferencias diferencia curso contenedores con alternativas docker kubernetes marathon docker-swarm dcos

docker - puedo - orquestador kubernetes



Marathon vs Kubernetes vs Docker Swarm en DC/OS con contenedores Docker (2)

Estoy buscando algunos pros y contras de si ir con Marathon y Chronos, Docker Swarm o Kubernetes cuando ejecuto contenedores Docker en DC / OS.

Por ejemplo, ¿cuándo es mejor usar Marathon / Chronos que Kubernetes y viceversa?

En este momento estoy principalmente experimentando, pero espero comenzar a usar uno de estos servicios en producción después del verano. Esto puede descalificar a Docker Swarm ya que no estoy seguro de si estará lista para producción para entonces.

Lo que me gusta de Docker Swarm es que se trata esencialmente de "comandos de Docker" y no tienes que aprender algo completamente nuevo. Ya estamos usando docker-compose y eso funcionará de forma inmediata con Docker Swarm (al menos en teoría), por lo que sería una gran ventaja. Mi principal preocupación con Docker Swarm es si cubrirá todos los casos de uso necesarios para ejecutar un sistema en producción.


Aunque está un poco desactualizado, puede ser útil leer Cuál es la diferencia entre el Mesos de Apache y Kubernetes de Google , para obtener algunos de los conceptos básicos correctos. Además, tenga en cuenta que Mesos opera en un nivel diferente que Kubernetes / Marathon / Chronos. Por último, pero no menos importante, vea Docker Swarm + Mesos de Timothy Chen, teniendo en cuenta que Marathon y Swarm pueden operar simultáneamente en el mismo grupo de Mesos.


Intentaré desglosar los aspectos únicos de cada marco de orquestación de contenedores en Mesos.

Use Docker Swarm si:

Use Kubernetes-Mesos si:

  • Desea iniciar K8s Pods, que son grupos de contenedores programados y ubicados conjuntamente, que comparten recursos.
  • Desea iniciar un servicio junto con uno o más contenedores secundarios (por ejemplo, archivador de registros, monitor de métricas) que viven al lado del contenedor principal.
  • Desea utilizar el descubrimiento de servicios, el equilibrio de carga y el control de replicación basados ​​en etiquetas K8s.
  • Ver http://kubernetesio.blogspot.com/2015/04/kubernetes-and-mesosphere-dcos.html

Use Marathon si:

  • Desea iniciar aplicaciones / servicios de larga duración Docker o no Docker.
  • Desea utilizar los atributos de Mesos para la programación basada en restricciones.
  • Desea usar grupos de aplicaciones y dependencias para iniciar, escalar o actualizar servicios relacionados.
  • Desea utilizar comprobaciones de estado para reiniciar automáticamente servicios no saludables o deshacer implementaciones / actualizaciones no saludables.
  • Desea integrar HAProxy o Consul para el descubrimiento de servicios.
  • Desea iniciar y monitorear aplicaciones a través de una interfaz de usuario web o API REST.
  • Desea utilizar un marco creado desde el principio con Mesos en mente.

Use Chronos si:

  • Desea iniciar tareas Docker o no Docker que se espera que salgan.
  • Desea programar una tarea para que se ejecute en un horario / horario específico (a la cron ).
  • Desea programar un flujo de trabajo DAG de tareas dependientes.
  • Desea iniciar y monitorear trabajos a través de una interfaz de usuario web o API REST.
  • Desea utilizar un marco creado desde el principio con Mesos en mente.