GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar el servidor Consul en Ubuntu 20.04

Consul es una solución de red de servicios que ofrece un plano de control con todas las funciones, incluida la funcionalidad de segmentación, la configuración y el descubrimiento de servicios. Estas características se pueden usar individualmente según sea necesario, o se pueden usar juntas para crear una malla de servicio completo. Consul opera sobre un plano de datos y es compatible tanto con un proxy como con un modelo de integración nativo. Consul se envía con un proxy integrado simple que garantiza que todo funcione de inmediato. Consul también es compatible con integraciones de proxy de terceros, como Envoy.

Las características clave de Consul incluyen:

  • Descubrimiento de servicios
  • Comprobación de estado
  • Tienda KV
  • Comunicación de servicio segura
  • Capacidades de varios centros de datos

En este tutorial, le mostraremos cómo instalar un servidor Consul en Ubuntu 20.04.

Requisitos

  • Un Ubuntu 20.04 VPS nuevo en la plataforma en la nube Atlantic.Net
  • Una contraseña de root está configurada en su servidor

Paso 1:crear un servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 20.04 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor Ubuntu 20.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

apt-get update -y

Paso 2:instalar el servidor Consul

Primero, instale los paquetes requeridos con el siguiente comando:

apt-get install unzip gnupg2 curl wget -y

A continuación, descargue la última versión de Consul con el siguiente comando:

wget https://releases.hashicorp.com/consul/1.8.4/consul_1.8.4_linux_amd64.zip

Una vez completada la descarga, descomprima el archivo descargado con el siguiente comando:

unzip consul_1.8.4_linux_amd64.zip

A continuación, mueva el binario del cónsul al directorio /usr/local/bin con el siguiente comando:

mv consul /usr/local/bin/

Luego, verifique la versión de Consul usando el siguiente comando:

consul --version

Deberías obtener el siguiente resultado:

Consul v1.8.4
Revision 12b16df32
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)

Paso 3:crear un archivo de servicio de cónsul

Primero, deberá crear un usuario y un grupo separados para Consul. Puede crearlos con el siguiente comando:

groupadd --system consul
useradd -s /sbin/nologin --system -g consul consul

A continuación, cree los directorios necesarios con el siguiente comando:

mkdir -p /var/lib/consul
mkdir /etc/consul.d

A continuación, cambie la propiedad y el permiso de esos directorios:

chown -R consul:consul /var/lib/consul
chmod -R 775 /var/lib/consul
chown -R consul:consul /etc/consul.d

A continuación, cree un archivo de servicio systemd de Consul con el siguiente comando:

nano /etc/systemd/system/consul.service

Agregue las siguientes líneas:

[Unit]
Description=Consul Service Discovery Agent
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=consul
Group=consul
ExecStart=/usr/local/bin/consul agent -server -ui \
            -advertise=your-server-ip \
            -bind=your-server-ip \
            -data-dir=/var/lib/consul \
            -node=consul-01 \
            -config-dir=/etc/consul.d
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGINT
TimeoutStopSec=5
Restart=on-failure
SyslogIdentifier=consul
[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo cuando haya terminado.

Nota :Proporcione la IP del servidor, la ruta del directorio de datos y el directorio de configuración que creó anteriormente.

A continuación, vuelva a cargar el demonio systemd con el siguiente comando:

systemctl daemon-reload

Paso 4:configurar el servidor Consul

Primero, deberá generar una clave con la longitud y la codificación necesarias. Puede generarlo con el siguiente comando:

consul keygen

Deberías obtener el siguiente resultado:

TJ8iw/XJ+0/BSUMGuLFWkeT23LmGnfhmF/qWgA25wZU=

A continuación, deberá crear un archivo de configuración Json para Consul. Puedes crearlo con el siguiente comando:

nano /etc/consul.d/config.json

Proporcione la IP de su servidor, el nombre de host y la clave del cónsul como se muestra a continuación:

{
"bootstrap": true,
"server": true,
"log_level": "DEBUG",
"enable_syslog": true,
"datacenter": "server1",
"addresses" : {
"http": "0.0.0.0"
},
"bind_addr": "your-server-ip",
"node_name": "ubuntu2004",
"data_dir": "/var/lib/consul",
"acl_datacenter": "server1",
"acl_default_policy": "allow",
"encrypt": "TJ8iw/XJ+0/BSUMGuLFWkeT23LmGnfhmF/qWgA25wZU="
}

Guarde y cierre el archivo cuando haya terminado.

A continuación, inicie el servicio Consul y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start consul
systemctl enable consul

A continuación, verifique el estado del Cónsul con el siguiente comando:

systemctl status consul

Deberías obtener el siguiente resultado:

● consul.service - Consul Service Discovery Agent
     Loaded: loaded (/etc/systemd/system/consul.service; disabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-10-01 10:35:52 UTC; 4min 11s ago
   Main PID: 5511 (consul)
      Tasks: 9 (limit: 2353)
     Memory: 17.4M
     CGroup: /system.slice/consul.service
             └─5511 /usr/local/bin/consul agent -server -ui -advertise=your-server-ip -bind=your-server-ip -data-dir=/var/lib/consul -node=con>

En este punto, el servidor Consul se inicia y escucha en el puerto 8500. Puede verificarlo con el siguiente comando:

ss -plunt | grep 8500

Deberías obtener el siguiente resultado:

tcp   LISTEN 0      4096                                  *:8500              *:*                                                                                users:(("consul",pid=5511,fd=17))           

Paso 5:configurar Nginx como proxy inverso

A continuación, es una buena idea instalar y configurar Nginx como proxy inverso para acceder a Consul en el puerto 80.

Primero, instale el servidor Nginx con el siguiente comando:

apt-get install nginx -y

Una vez instalado, elimine el archivo de configuración de host virtual predeterminado de Nginx:

rm -rf /etc/nginx/sites-enabled/default

A continuación, cree un archivo de configuración de host virtual de Consul con el siguiente comando:

nano /etc/nginx/sites-available/consul.conf

Agregue las siguientes líneas:

server {
listen 80 ;
server_name your-server-ip;
root /var/lib/consul;
location / {
proxy_pass http://127.0.0.1:8500;
proxy_set_header   X-Real-IP $remote_addr;
proxy_set_header   Host      $http_host;
}
}

Guarde y cierre el archivo, luego active el host virtual con el siguiente comando:

ln -s /etc/nginx/sites-available/consul.conf /etc/nginx/sites-enabled/

A continuación, compruebe si hay errores de sintaxis en Nginx con el siguiente comando:

nginx -t

Deberías obtener el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

A continuación, reinicie el servicio Nginx con el siguiente comando:

systemctl restart nginx

Si obtiene algún error, deberá editar el archivo de configuración del servidor predeterminado de Nginx y configurar server_names_hash_bucket_size:

nano /etc/nginx/nginx.conf

Agregue la siguiente línea debajo de http {/strong> :

server_names_hash_bucket_size 64;

Guarde y cierre el archivo, luego reinicie el servicio Nginx para aplicar los cambios:

systemctl restart nginx

Paso 6:Acceder al panel del cónsul

A continuación, abra su navegador web y acceda a la interfaz web de Consul utilizando la URL http://your-server-ip/ui . Debería ver el panel de Cónsul en la siguiente página:

Haga clic en los Nodos para enumerar los nodos activos en su servidor como se muestra a continuación:

Conclusión

¡Felicidades! Ha instalado con éxito el servidor Consul en Ubuntu 20.04. Ahora puede agregar más nodos de clientes al servidor de Consul y comenzar a administrarlos desde el tablero de Consul. Para más información, puede visitar la documentación de Consul. ¡Empiece con Consul en VPS Hosting de Atlantic.Net!


Linux
  1. Cómo instalar el servidor EteSync en Ubuntu 20.04

  2. Cómo instalar TeamSpeak Server en Ubuntu 18.04 y 20.04

  3. Cómo instalar MongoDB en Ubuntu 20.04

  4. Cómo instalar la ubicación en un servidor Ubuntu

  5. Cómo instalar R en Ubuntu 18.04

Cómo instalar Jenkins en Ubuntu 18.04

Cómo instalar Ruby en Ubuntu 18.04

Cómo instalar el servidor Ansible en Ubuntu 18.04

Cómo instalar Monit Monitoring Server en Ubuntu 20.04.

Cómo instalar Kanboard en Ubuntu 20.04

Cómo instalar el servidor EteSync en Ubuntu 20.04