GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y configurar Docker Swarm Cluster en Ubuntu

Docker Swarm es una herramienta que le permite implementar un clúster de Docker Hosts. Es una herramienta de agrupación en clúster nativa proporcionada por Docker que brinda alta disponibilidad y alto rendimiento para su aplicación al distribuirla a todos los nodos dentro del clúster de enjambre.

En este tutorial, le mostraremos paso a paso cómo crear un Swarm Cluster usando Ubuntu 16.04. Crearemos un clúster de enjambre utilizando 2 máquinas de servidor ubuntu, 1 nodo de servidor como administrador y 1 otro como trabajador. Y luego intentaremos implementar el servicio Nginx simple en el clúster de enjambre.

Requisitos

  • 2 o más - Servidor Ubuntu 16.04
    • administrador     132.92.41.4
    • trabajador01   132.92.41.5
  • Privilegios de raíz

¿Qué haremos?

  1. Configurar anfitriones
  2. Instalar Docker-ce
  3. Inicialización de Docker Swarm
  4. Implementación del primer servicio en el clúster

Paso 1:Configurar hosts

Antes de instalar cualquier paquete para el clúster de enjambre, configuraremos el archivo de hosts en ambos servidores.

Ejecute los siguientes comandos en todos los servidores, 'manager' y 'worker01'.

Edite el archivo '/etc/hosts' usando vim editor.

vim /etc/hosts

Agregue la siguiente configuración al final de la línea.

132.92.41.4    manager
132.92.41.5    worker01

Guardar y salir.

Ahora haga ping a todos los nodos usando 'nombre de host' en lugar de usar la dirección IP.

ping -c 3 manager
ping -c 3 worker01

Y asegúrese de que funcione en todos los hosts.

Paso 2:instalar Docker-ce

Para crear el clúster de enjambre, debemos instalar la ventana acoplable en todos los nodos del servidor. En este paso, instalaremos Docker-ce Community Edition tanto en el administrador de servidores como en el trabajador01.

Instale las dependencias de Docker-ce con el siguiente comando apt.

sudo apt install apt-transport-https software-properties-common ca-certificates -y

Ahora agregue la clave Docker y el repositorio Docker-ce a nuestros servidores.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" > /etc/apt/sources.list.d/docker-ce.list

Actualice el repositorio e instale los paquetes Docker-ce usando el comando apt install a continuación.

sudo apt update
sudo apt install docker-ce -y

Una vez completada la instalación, inicie el servicio Docker y habilítelo para que se inicie cada vez que se inicie el sistema.

systemctl start docker
systemctl enable docker

Docker-ce ahora está instalado en nuestros nodos de servidor.

A continuación, configuraremos Docker para que se ejecute como un usuario normal o un usuario no root.

Cree un nuevo usuario llamado 'mohammad' y agréguelo al grupo 'docker'.

useradd -m -s /bin/bash mohammad
sudo usermod -aG docker mohammad

Ahora inicie sesión en el usuario 'mohammad' y ejecute el comando docker hello-world como se muestra a continuación.

su - mohammad
docker run hello-world

Y obtendrá el hola mundo de la ventana acoplable como se muestra a continuación.

Paso 3:crear el clúster de enjambre

En este paso, crearemos el Swarm Cluster de nuestros nodos. Y para crear los nodos de clúster de enjambre, necesitamos inicializar el modo de enjambre en el nodo 'administrador' y luego unir el nodo 'worker01' al clúster.

Inicialice el modo Docker Swarm ejecutando el siguiente comando docker en el nodo 'administrador'.

docker swarm init --advertise-addr 132.92.41.4

Y obtendrá el resultado como se muestra a continuación.

Verá que el nodo 'administrador' ha generado un 'token de unión'.

A continuación, debemos agregar el nodo 'worker01' al 'administrador' del clúster. Y para hacer eso, necesitamos un 'token de unión' del nodo 'administrador' del clúster, así que asegúrese de escribirlo en su nota.

Ejecute el comando docker swarm join en el nodo 'worker01'.

docker swarm join --token SWMTKN-1-5p5ujrr67rl2rlmyvrj56fksblbcrtaeirf7fj5r4snid2vn6y-918gbqr02m64xct43i2ssi4qs 132.92.41.4:2377

Ahora obtendrá el resultado como se muestra a continuación.

El nodo 'worker01' se unió al clúster.

Compruébelo ejecutando el siguiente comando en el nodo 'administrador'.

docker node ls

Ahora verá que el nodo 'worker01' se unió al clúster de enjambre.

Se ha creado el Swarm Cluster.

Paso 4:implementación del primer servicio en el clúster

En este paso, crearemos e implementaremos nuestro primer servicio en el clúster de enjambre. Queremos crear un nuevo servicio de servidor web Nginx que se ejecutará en el puerto http predeterminado 80, y luego exponerlo al puerto 8080 en el servidor host, y luego intentar replicar el servicio nginx dentro del clúster de enjambre.

Crear servicio

Cree un nuevo servicio Nginx llamado 'my-web' y exponga el puerto HTTP del contenedor al puerto 8080 en el host.

docker service create --name my-web --publish 8080:80 nginx:1.13-alpine

Y cuando se cree, verifique usando el comando de servicio docker a continuación.

docker service ls

Y obtendrá el resultado como se muestra a continuación.

El servicio Nginx se ha creado e implementado en el clúster de enjambre como un servicio denominado 'mi web', se basa en Nginx Alpine Linux, expone el puerto HTTP del servicio de contenedor al puerto '8080' en el host y tiene solo 1 réplica.

Réplicas y escala del servicio

Ahora haremos réplicas para el servicio 'my-web'. Haremos 2 réplicas del servicio 'my-web', de modo que se pueda acceder al servicio en los nodos 'manager' y 'worker01'.

Para replicar el servicio 'my-web', ejecute el siguiente comando.

docker service scale my-web=2

Y una vez que esté completo, verifique nuevamente usando el comando de servicio docker.

docker service ls

Y ahora el servidor tiene 2 réplicas.

Abra su navegador web y escriba la dirección IP del nodo administrador con el puerto 8080.

http://gerente:8080/

Y obtendrá la página predeterminada de Nginx.

A continuación se muestra el resultado del nodo 'worker01'.

http://trabajador01:8080/

Se ha creado Swarm Cluster y se ha completado la implementación del servicio Nginx en nuestro Swarm Cluster.


Ubuntu
  1. Cómo instalar y configurar Redis en Ubuntu 18.04

  2. Cómo instalar y configurar Redmine en Ubuntu 18.04

  3. Cómo instalar y configurar Samba en Ubuntu 18.04

  4. Cómo instalar y configurar Redis en Ubuntu 20.04

  5. Cómo configurar MariaDB Galera Cluster en Ubuntu 20.04

Cómo instalar y configurar el clúster SeaweedFS en Ubuntu 20.04

Cómo instalar y configurar un Docker Swarm Cluster en CentOS 8

Cómo instalar y configurar Docker Swarm en CentOS 7 / Ubuntu 16.04 / Fedora 26/25

Cómo instalar y configurar Docker-CE en Ubuntu 18.04 LTS

Cómo instalar y configurar el cortafuegos UFW en Ubuntu 20.04

Cómo instalar y configurar Kitematic en Ubuntu Linux