Cómo aprovisionar clústeres de enjambre mediante Docker Machine
Hola a todos, hoy aprenderemos cómo podemos implementar Swarm Clusters usando Docker Machine. Sirve a la API estándar de Docker, por lo que cualquier herramienta que pueda comunicarse con un demonio de Docker puede usar Swarm para escalar de forma transparente a múltiples hosts. Docker Machine es una aplicación que ayuda a crear hosts Docker en nuestra computadora, en proveedores de nube y dentro de nuestro propio centro de datos. Proporciona una solución fácil para crear servidores, instalar Docker en ellos y luego configurar el cliente Docker de acuerdo con la configuración y los requisitos de los usuarios. Podemos aprovisionar clústeres de enjambre con cualquier controlador que necesitemos y está altamente protegido con cifrado TLS.
A continuación, se muestran algunos pasos rápidos y sencillos sobre cómo aprovisionar clústeres de enjambre con Docker Machine.
1. Instalación de la máquina Docker
Docker Machine es compatible con increíble en todos los sistemas operativos Linux. En primer lugar, necesitaremos descargar la última versión de Docker Machine desde el sitio de Github. Aquí, usaremos curl para descargar la última versión de Docker Machine, es decir, 0.2.0.
Para el sistema operativo de 64 bits
# curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-amd64 > /usr/local/bin/docker-machine
Para el sistema operativo de 32 bits
# curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-i386 > /usr/local/bin/docker-machine
Después de descargar la última versión de Docker Machine, crearemos el archivo llamado docker-machine en / usr / local / bin / ejecutable usando el siguiente comando.
# chmod +x /usr/local/bin/docker-machine
Después de hacer lo anterior, queremos asegurarnos de haber instalado correctamente la máquina acoplable. Para comprobarlo, podemos ejecutar el docker-machine -v que dará salida de la versión de docker-machine instalada en nuestro sistema.
# docker-machine -v
Para habilitar los comandos de Docker en nuestras máquinas, asegúrese de instalar también el cliente de Docker ejecutando el siguiente comando.
# curl -L https://get.docker.com/builds/linux/x86_64/docker-latest > /usr/local/bin/docker # chmod +x /usr/local/bin/docker
2. Creando máquina
Después de instalar Machine en nuestra PC o dispositivo en funcionamiento, queremos seguir adelante para crear una máquina usando Docker Machine. Aquí, en este tutorial, implementaremos una máquina en la plataforma Digital Ocean, por lo que usaremos «digitalocean» como su API de controlador, luego, el enjambre de docker se ejecutará en ese Droplet que se configurará más adelante como Swarm Master y otro Se creará una gota que se configurará como Agente de nodo Swarm.
Entonces, para crear la máquina, necesitaremos ejecutar el siguiente comando.
# docker-machine create --driver digitalocean --digitalocean-access-token <API-Token> linux-dev
Nota: Aquí, linux-dev es el nombre de la máquina que queremos crear.
Ahora, para cargar la configuración de la máquina en el shell que estamos ejecutando los comandos, ejecute el siguiente comando.
# eval "$(docker-machine env linux-dev)"
Luego, marcaremos nuestra máquina como ACTIVA ejecutando el siguiente comando.
# docker-machine active linux-dev
Ahora, comprobaremos si ha sido marcado como ACTIVO «*» o no.
# docker-machine ls
3. Ejecución de la imagen de Docker Swarm
Ahora, después de que terminemos de crear la máquina requerida. Implementaremos la imagen de la ventana acoplable enjambre en nuestra máquina activa. Esta máquina ejecutará la imagen de la ventana acoplable y controlará el maestro y el nodo de Swarm. Para ejecutar la imagen, simplemente podemos ejecutar el siguiente comando.
# docker run swarm create
Si está intentando ejecutar la imagen de la ventana acoplable swarm usando Sistema operativo de 32 bits en la computadora donde se ejecuta Docker Machine, necesitaremos SSH en el Droplet.
# docker-machine ssh #docker run swarm create #exit
4. Creando Swarm Master
Ahora, después de que nuestra máquina y la imagen del enjambre se ejecuten en la máquina, crearemos un Maestro del enjambre. Esto también agregará el maestro como nodo. Para hacerlo, aquí está el siguiente comando.
# docker-machine create -d digitalocean --digitalocean-access-token <DIGITALOCEAN-TOKEN> --swarm --swarm-master --swarm-discovery token://<CLUSTER-ID> swarm-master
5. Creación de nodos de enjambre
Ahora, crearemos un nodo de enjambre que se conectará con Swarm Master. El siguiente comando creará una nueva gota que se denominará swarm-node y se conectará con Swarm Master como nodo. Esto creará un clúster Swarm en los dos nodos.
# docker-machine create -d digitalocean --digitalocean-access-token <DIGITALOCEAN-TOKEN> --swarm --swarm-discovery token://<TOKEN-FROM-ABOVE> swarm-node
6. Conexión con Swarm Master
Ahora nos conectamos al Swarm Master para poder implementar contenedores Docker en los nodos según el requisito y la configuración. Para cargar la configuración de Swarm Master’s Machine en nuestro entorno, podemos ejecutar el siguiente comando.
# eval "$(docker-machine env --swarm swarm-master)"
Después de eso, podemos ejecutar los contenedores necesarios de nuestra elección en los nodos. Aquí, comprobaremos si todo salió bien o no. Entonces, correremos información de la ventana acoplable para comprobar la información sobre los Swarm Clusters.
# docker info
Conclusión
Podemos crear fácilmente Swarm Cluster con Docker Machine. Este método es muy productivo porque reduce mucho tiempo de un administrador del sistema o de los usuarios. En este artículo, aprovisionamos clústeres con éxito mediante la creación de un maestro y un nodo utilizando una máquina con Digital Ocean como controlador. Se puede crear utilizando cualquier controlador como VirtualBox, Google Cloud Computing, Amazon Web Service, Microsoft Azure y más de acuerdo con la necesidad y los requisitos del usuario y la conexión es altamente segura con cifrado TLS. Si tiene alguna pregunta, sugerencia o comentario, escríbalos en el cuadro de comentarios a continuación para que podamos mejorar o actualizar nuestro contenido. Gracias ! Disfrutar 🙂