Instalación de Software · 8 min read · Sep 10, 2025

Cómo instalar Consul Server en AlmaLinux 9

Consul es una plataforma moderna para el descubrimiento de servicios que te permite registrar servicios a través de DNS y una interfaz HTTP. También ofrece una función de malla de servicios que permite conexiones seguras a través de TLS y proporciona autorización entre servicios. Además, Consul también proporciona una puerta de enlace API para gestionar el acceso a los servicios y un almacén KV (Clave/Valor) para almacenar la configuración del servicio.

En esta guía, te guiaremos a través de la instalación de un clúster de Consul con múltiples servidores en AlmaLinux 9 paso a paso.

Requisitos previos

Para completar esta guía, asegúrate de tener lo siguiente:

  • Dos o más servidores AlmaLinux dentro de la misma red.
  • Un usuario no root con privilegios de administrador.

Configurando el sistema

En este primer paso, prepararás tus servidores AlmaLinux para la instalación de Consul, lo que incluye:

  • Configurar Firewalld para abrir puertos.
  • Configurar SELinux en modo permisivo.

Configurando Firewalld

Antes de instalar paquetes, debes abrir puertos en tus servidores Consul. Como se trata de un sistema operativo basado en RHEL, utilizarás Firewalld para abrir puertos.

Ejecuta el siguiente comando para abrir los puertos 8300, 8301, 8302, 8400, 8500 y 8600 en tus servidores AlmaLinux. Si es exitoso, deberías obtener una salida como éxito.

sudo firewall-cmd --permanent --zone=public --add-port={8300,8301,8302,8400,8500,8600}/tcp

Ahora, recarga el firewalld utilizando el siguiente comando para que surta efecto.

sudo firewall-cmd --reload

Por último, verifica tus reglas de firewalld utilizando el siguiente comando. Asegúrate de que los puertos 8300, 8301, 8302, 8400, 8500, 8600 estén disponibles en tu firewalld.

sudo firewall-cmd --zone=public --list-all

configurar firewalld

Cambiando SELinux a Permisivo

Después de configurar firewalld, cambiarás el modo SELinux predeterminado a permisivo. Esto generará registros de errores en SELinux sin bloquear la acción.

Ejecuta el siguiente comando para cambiar el modo de SELinux a permisivo.

sudo setenforce 0  
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Luego, reinicia tus servidores para que surta efecto.

sudo reboot

Ahora que has configurado todos tus servidores AlmaLinux, puedes comenzar la instalación de Consul.

Instalando Consul a través de DNF

Consul es una plataforma de red de servicios que admite múltiples sistemas operativos. Además, Consul proporciona un repositorio de paquetes para distribuciones de Linux, incluidas las distribuciones basadas en RHEL. En este paso, instalarás Consul desde el repositorio de Consul a través de DNF.

Para comenzar, instala algunos paquetes básicos ejecutando el siguiente comando. Ingresa y para proceder con la instalación.

sudo dnf install dnf-plugins-core nano

instalar paquetes básicos

Ahora ejecuta el comando DNF a continuación para agregar el repositorio de Consul a tus servidores Alma Linux. Luego, verifica la lista de repositorios disponibles en cada servidor.

sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo  
sudo dnf repolist

La siguiente salida prueba que has agregado el repositorio de HashiCorp a tus sistemas.

agregar repositorio hoshicorp

A continuación, instala Consul ejecutando el siguiente comando. Escribe y para proceder con la instalación de Consul.

sudo dnf install consul

instalar consul

Después de haber terminado la instalación, ejecuta el siguiente comando para localizar el archivo binario de consul y verificar su versión.

which consul  
consul version

La salida a continuación confirma que el archivo binario de Consul está disponible en /bin/consul, y la versión actual de Consul es 1.17.

Configurando Consul

En este punto, has instalado Consul en todos tus servidores AlmaLinux. Comencemos a configurar el clúster de Consul con múltiples servidores sin más preámbulos. Para ilustrar, utilizaremos tres servidores AlmaLinux.

|  Hostname  |    IP Address   |  
| ---------  |  -------------- |  
|  consul1   |  192.168.10.41  |  
|  consul2   |  192.168.10.42  |  
|  consul3   |  192.168.10.43  |

Primero, detén el servicio de consul en cada servidor ejecutando el siguiente comando.

sudo systemctl stop consul

Muévete al servidor consul1 y ejecuta el siguiente comando para generar una nueva clave para el clúster de Consul. Asegúrate de guardar la clave generada.

consul keygen

En todos tus servidores Consul, abre la configuración predeterminada de Consul /etc/consul.d/consul.hcl utilizando el siguiente comando del editor nano.

sudo nano /etc/consul.d/consul.hcl

Cambia la configuración predeterminada con la siguiente y ten en cuenta algunos parámetros a continuación:

  • server: True significa que el nodo actuará como un servidor Consul.
  • advertise_addr: Cambia esto con la dirección IP respectiva del servidor Consul.
  • bootstrap_expect: ¿Cuántos servidores tendría tu clúster?
  • encrypt: Cada servidor debe tener la misma clave.
  • retry_join: Ingresa las direcciones IP del clúster de Consul a este parámetro.
# Las opciones de configuración completas se pueden encontrar en https://www.consul.io/docs/agent/config  
  
# datacenter  
datacenter = "kitty-dc1"  
  
# data_dir  
# Esta bandera proporciona un directorio de datos para que el agente almacene el estado.   
data_dir = "/opt/consul"  
  
# client_addr  
# La dirección a la que Consul vinculará las interfaces de cliente, incluidos los servidores HTTP y DNS.  
client_addr = "0.0.0.0"  
  
# ui  
# Habilita el servidor web UI integrado y las rutas HTTP requeridas.  
ui_config{  
  enabled = true  
}  
  
# dominio predeterminado  
domain = "consul"  
  
# habilitar dns_config  
dns_config{  
  enable_truncate = true  
  only_passing = true  
}  
  
# servidor  
# Esta bandera se utiliza para controlar si un agente está en modo servidor o cliente. Cuando se proporciona,  
# un agente actuará como un servidor Consul. Cada clúster de Consul debe tener al menos uno  
# servidor y, idealmente, no más de 5 por centro de datos. Todos los servidores participan en el algoritmo de consenso Raft  
# para garantizar que las transacciones ocurran de manera consistente y linealizable. Las transacciones modifican el estado del clúster, que se  
# mantiene en todos los nodos del servidor para garantizar la disponibilidad en caso de fallo del nodo. Los nodos del servidor también participan en un  
# grupo de gossip WAN con nodos del servidor en otros centros de datos. Los servidores actúan como puertas de enlace a  
# otros centros de datos y reenvían el tráfico según sea apropiado.  
server = true  
  
# Dirección de anuncio - si deseas señalar a los clientes a una dirección diferente a la de enlace o LB.  
advertise_addr = "192.168.10.41"  
  
# bootstrap_expect  
# Esta bandera proporciona el número de servidores esperados en el centro de datos.  
bootstrap_expect=3  
  
# encriptar  
# Especifica la clave secreta a utilizar para la encriptación del tráfico de red de Consul.  
encrypt = "jFtV8jj4h1hnXGqTllWH+sOqLo/tw9xnnfDHcVxVnYg="  
  
# retry_join  
retry_join = ["192.168.10.41", "192.168.10.42", "192.168.10.43"]

Guarda y sal del archivo cuando termines.

A continuación, ejecuta el siguiente comando para verificar las configuraciones de Consul. Si tienes la sintaxis correcta, deberías obtener una salida como ‘ La configuración es válida ‘.

sudo consul validate /etc/consul.d/

validar consul

Ahora ejecuta el comando a continuación para iniciar y habilitar el servicio de consul.

sudo systemctl start consul  
sudo systemctl enable consul

Luego verifica el consul utilizando el siguiente comando para asegurarte de que el servicio esté en funcionamiento.

sudo systemctl status consul

En la siguiente salida, deberías ver que Consul está en funcionamiento en el servidor consul1.

consul1 en funcionamiento

En la siguiente salida, deberías ver que Consul está en funcionamiento en el servidor consul2.

consul2 en funcionamiento

En la siguiente salida, deberías ver que Consul está en funcionamiento en el servidor consul3.

consul3 en funcionamiento

Interactuando con el clúster de Consul

Ahora que has configurado el clúster de Consul en los servidores AlmaLinux, puedes verificar e interactuar con el clúster de Consul a través de la línea de comandos de consul.

Comprobando el clúster de Consul

Ejecuta el siguiente comando para verificar los servidores de Consul disponibles dentro del clúster.

consul members

En este ejemplo, el clúster de Consul está compuesto por tres servidores, consul1, consul2 y consul3.

También puedes verificar la lista de pares en el clúster utilizando el siguiente comando.

consul operator raft list-peers

A continuación puedes ver información detallada sobre cada servidor de Consul, incluyendo el ID, estado, votante y versión de RaftProtocol.

Agregando un almacén KV (Clave-Valor) a Consul

A continuación, ejecuta el siguiente comando de consul para crear una nueva base de datos de clave-valor. En este ejemplo, crearás una nueva clave db_name con el valor testdb.

consul kv put consul/configuration/db_name testdb

Ahora ejecuta el siguiente comando para recuperar el valor de db_name.

consul kv get consul/configuration/db_name

Deberías obtener el valor testdb como el siguiente:

agregar kv consul

Interactuando con DNS en Consul

Dentro de esta guía, has habilitado el DNS de Consul. Para verificar la configuración del DNS de Consul, utiliza el comando dig a continuación.

dig @127.0.0.1 -p 8600 consul.service.consul

En este ejemplo, has configurado los servidores de Consul dentro del clúster con el mismo nombre de dominio que consul. Lo siguiente confirma que el dominio consul.service.consul tiene registros A 192.168.10.41, 192.168.10.42, 192.168.10.43.

consul dns

Accediendo a la interfaz web de Consul (Interfaz de usuario)

Por último, abre tu navegador web y visita la dirección IP del servidor Consul con el puerto 8500, por ejemplo: http://192.168.10.41:8500/ui/ para obtener el panel de administración web de Consul.

A continuación deberías ver los servidores disponibles en el clúster de Consul.

interfaz web de consul

Ahora, haz clic en el menú Nodos para obtener información detallada sobre cada servidor.

lista de nodos

Luego haz clic en el menú Clave/Valor para obtener la lista de KV disponibles en tus servidores Consul.

verificar kv

Conclusión

Para concluir, has completado la instalación paso a paso del clúster de Consul con tres servidores AlmaLinux. Has habilitado la interfaz web de Consul y el DNS de Consul dentro del clúster. Por último, también has aprendido algunos comandos básicos para interactuar con clústeres de Consul, almacenes de clave-valor y DNS.

A partir de aquí, ahora puedes activar las ACL (Listas de Control de Acceso) e implementar TLS para conexiones entre servidores y clientes de Consul.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.