Sin categoría

Introducción a Docker para AWS y escalado de nodos

Este blog explicará cómo empezar con Docker para AWS y desplegar un multi-host Clúster enjambre en Amazon.
Docker Logo
amazon-web-services-logo

Muchas gracias a @friism ¡por ayudarme a depurar lo básico!

boot2docker -> Máquina Docker -> Docker para Mac

¿Está empaquetando sus aplicaciones con Docker y utilizando boot2docker para ejecutar contenedores en desarrollo? Entonces es que vives debajo de una piedra.

Se recomienda encarecidamente actualizar a Máquina Docker para desarrollo/pruebas de contenedores Docker. Encapsula boot2docker y permite crear una o más máquinas virtuales ligeras en su máquina. Cada
VM actúa como un motor Docker y puede ejecutar múltiples contenedores Docker. La ejecución de varias máquinas virtuales le permite configurar multihost Enjambre Docker cluster en tu portátil local fácilmente.

Máquina Docker también es ahora noticia vieja. Anunciada la DockerCon 2016 beta pública de Docker para Mac. Esto significa que cualquiera puede
regístrese en Docker para Mac en docker.com/getdocker y utilizarlo para dev/test de contenedores Docker. Por supuesto, también existe Docker para Windows.

Docker para Mac sigue siendo un host único pero tiene un modo enjambre que permite inicializarlo como un cluster Swarm de un solo nodo.

¿Qué es Docker para AWS?

Así que ahora que está utilizando Docker para Mac para el desarrollo, ¿cuál sería su plataforma de despliegue? DockerCon 2016 también anunciada la beta de Docker para AWS y Azure.

Docker para AWS y Azure inician una flota de motores Docker 1.12 con el modo de enjambre habilitado de fábrica. El modo enjambre significa que los motores Docker individuales forman un enjambre autoorganizado y autorreparable, distribuido por zonas de disponibilidad para garantizar la durabilidad.

Solo se aplican cargos de AWS y Azure, Docker para AWS y Docker para Azure son gratuitos en este momento. Regístrese en Docker para AWS y Azure en beta.docker.com. Tenga en cuenta, que es una disponibilidad restringida en este
tiempo. Una vez activada tu cuenta, recibirás un correo electrónico de invitación como el que se muestra a continuación:
 docker-aws-invite

Valores de Docker para AWS CloudFormation

Haga clic en Pila de lanzamiento para ser redirigido a la página de la plantilla de CloudFormation. Tome los valores predeterminados:
docker4aws-1
Plantilla S3
La URL se rellenará automáticamente y se ocultará aquí. Haga clic en Siguiente. Esta página le permite especificar detalles para la plantilla de CloudFormation:
docker4aws-2

Se pueden realizar los siguientes cambios:

  • Nombre de la plantilla
  • Número de director y trabajador nodos, 1 y 3 en este caso. Tenga en cuenta que sólo se puede especificar un número impar de gestores. Por defecto, los contenedores se programan sólo en los nodos trabajadores.
  • Tamaño AMI de los nodos maestro y trabajador
  • Una clave ya configurada en su cuenta AWS

Haga clic en Siguiente y tomar los valores por defecto:
docker4aws-3

Haga clic en Siguienteconfirme los ajustes:
docker4aws-4
docker4aws-5
Seleccione
Recursos IAM y haga clic en Cree para crear la plantilla de CloudFormation. Tardé unos 10 minutos en crear un clúster de 4 nodos (1 manager + 3 worker):
docker4aws-6
Para saber más
sobre el clúster se puede ver en EC2 Console:
docker4aws-7

Detalles del clúster de Docker para AWS Swarm

La pestaña Output de EC2 Console muestra más detalles sobre el cluster:
docker4aws-8
Para saber más
sobre la agrupación puede obtenerse de dos maneras:

  • Inicie sesión en el clúster mediante SSH
  • Crear un túnel y luego configurar la CLI local de Docker

Crear conexión SSH a Docker para AWS

Inicie sesión utilizando el comando mostrado en el Valor de la columna Salida pestaña. Crear una conexión SSH como:

Tenga en cuenta que aquí estamos utilizando la misma clave que se especificó durante la plantilla de CloudFormation. La lista de contenedores se puede ver usando docker ps mando:

Crear túnel SSH a Docker para AWS

Alternativamente, se puede crear un túnel SSH como:

Configurar DOCKER_HOST:

La lista de contenedores puede verse como arriba utilizando docker ps . Además, se puede obtener más información sobre el cluster utilizando información de docker mando:

He aquí algunos detalles clave de este resultado:

  • 4 nodos y 1 gestor, lo que significa 3 nodos trabajadores
  • Todos los nodos están ejecutando Docker Engine versión 1.12.0-rc3
  • Cada VM se crea utilizando Alpine Linux 3.4

Escalado de nodos de trabajo en Docker para AWS

Todos los nodos trabajadores están configurados en un Grupo AWS AutoScaling. Manager está configurado en un grupo de AWS AutoScaling independiente.
docker4aws-9
Este primer
le permite escalar el número de trabajadores utilizando el grupo Autoscaling. Docker unirá o eliminará automáticamente nuevas instancias al Enjambre. Cambiar el recuento de gestores en vivo es no compatibles con esta versión. Seleccione la opción
Grupo AutoScaling para nodos trabajadores para ver los detalles completos sobre el grupo:
docker4aws-10

Haga clic en Editar para cambiar el número de instancias deseadas a 5, y guarde la configuración haciendo clic en Guardar botón:
docker4aws-11

Las nuevas instancias tardan unos segundos en aprovisionarse y autoincluirse en el clúster Docker Swarm. El grupo Autoscaling actualizado se muestra como:
docker4aws-12

Y ahora información de docker muestra la salida actualizada como:

Esto muestra que hay un total de 6 nodos con 1 gestor.

Referencias de Docker para AWS

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Arun Gupta, Vicepresidente, Defensa del Desarrollador, Couchbase

Arun Gupta es vicepresidente de promoción de desarrolladores en Couchbase. Ha creado y dirigido comunidades de desarrolladores durante más de 10 años en Sun, Oracle y Red Hat. Tiene una gran experiencia en liderar equipos multidisciplinares para desarrollar y ejecutar estrategias, planificar y ejecutar contenidos, campañas de marketing y programas. Anteriormente dirigió equipos de ingeniería en Sun y es miembro fundador del equipo Java EE. Gupta es autor de más de 2.000 entradas de blog sobre tecnología. Tiene una amplia experiencia como conferenciante en más de 40 países sobre innumerables temas y es una JavaOne Rock Star desde hace tres años consecutivos. Gupta también fundó el capítulo Devoxx4Kids en Estados Unidos y sigue promoviendo la educación tecnológica entre los niños. Autor de varios libros sobre tecnología, ávido corredor, trotamundos, campeón de Java, líder de JUG, miembro del Dream Team de NetBeans y capitán de Docker, es fácilmente accesible en @arungupta.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.