Installazione software · 7 min read · Sep 10, 2025

Come installare il server Consul su AlmaLinux 9

Consul è una piattaforma moderna per la scoperta dei servizi che consente di registrare i servizi tramite DNS e interfaccia HTTP. Offre anche una funzionalità di Service mesh che consente connessioni sicure tramite TLS e fornisce autorizzazione tra i servizi. Inoltre, Consul fornisce anche un API Gateway per gestire l’accesso ai servizi e un KV (Key/Value) store per memorizzare la configurazione dei servizi.

In questa guida, ti guideremo attraverso l’installazione del cluster Consul con più server su AlmaLinux 9 passo dopo passo.

Requisiti

Per completare questa guida, assicurati di avere quanto segue:

  • Due o più server AlmaLinux all’interno della stessa rete.
  • Un utente non root con privilegi di amministratore.

Configurazione del sistema

In questo primo passaggio, preparerai i tuoi server AlmaLinux per l’installazione di Consul, che include:

  • Configurare Firewalld per aprire le porte.
  • Configurare SELinux in modalità Permissiva.

Configurazione di Firewalld

Prima di installare i pacchetti, devi aprire le porte sui tuoi server Consul. Come per il sistema operativo basato su RHEL, utilizzerai Firewalld per aprire le porte.

Esegui il comando qui sotto per aprire le porte 8300, 8301, 8302, 8400, 8500 e 8600 sui tuoi server AlmaLinux. Se hai successo, dovresti ottenere un output come successo.

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

Ora, ricarica il firewalld utilizzando il comando qui sotto per applicare le modifiche.

sudo firewall-cmd --reload

Infine, verifica le tue regole firewalld utilizzando il seguente comando. Assicurati che le porte 8300, 8301, 8302, 8400, 8500, 8600 siano disponibili sul tuo firewalld.

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

setup firewalld

Cambiare SELinux in Permissivo

Dopo aver configurato firewalld, cambierai la modalità SELinux predefinita in permissiva. Questo genererà log di errore su SELinux senza bloccare l’azione.

Esegui il seguente comando per cambiare la modalità SELinux in permissiva.

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

Quindi, riavvia i tuoi server per applicare le modifiche.

sudo reboot

Ora che hai configurato tutti i tuoi server AlmaLinux, puoi iniziare l’installazione di Consul.

Installazione di Consul tramite DNF

Consul è una piattaforma di networking dei servizi che supporta più sistemi operativi. Inoltre, Consul fornisce un repository di pacchetti per le distribuzioni Linux, comprese le distribuzioni basate su RHEL. In questo passaggio, installerai Consul dal repository di Consul tramite DNF.

Per iniziare, installa alcuni pacchetti di base eseguendo il seguente comando. Inserisci y per procedere con l’installazione.

sudo dnf install dnf-plugins-core nano

install basic packages

Ora esegui il comando DNF qui sotto per aggiungere il repository di Consul ai tuoi server Alma Linux. Quindi, verifica l’elenco dei repository disponibili su ciascun server.

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

L’output seguente dimostra che hai aggiunto il repository HashiCorp ai tuoi sistemi.

add hoshicorp repo

Successivamente, installa Consul eseguendo il seguente comando. Digita y per procedere con l’installazione di Consul.

sudo dnf install consul

install consul

Dopo aver completato l’installazione, esegui il seguente comando per localizzare il file binario di consul e controllare la sua versione.

which consul  
consul version

L’output qui sotto conferma che il file binario di Consul è disponibile in /bin/consul, e la versione attuale di Consul è 1.17.

Configurazione di Consul

A questo punto, hai installato Consul su tutti i tuoi server AlmaLinux. Iniziamo a configurare il cluster Consul con più server senza ulteriori indugi. Per illustrare, utilizzeremo tre server AlmaLinux.

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

Per prima cosa, ferma il servizio consul su ogni server eseguendo il comando qui sotto.

sudo systemctl stop consul

Spostati sul server consul1 e esegui il comando qui sotto per generare una nuova chiave per il cluster Consul. Assicurati di conservare la chiave generata.

consul keygen

In tutti i tuoi server Consul, apri la configurazione predefinita di Consul /etc/consul.d/consul.hcl utilizzando il seguente comando dell’editor nano.

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

Cambia la configurazione predefinita con la seguente e fai attenzione ad alcuni parametri qui sotto:

  • server: True significa che il nodo agirà come un server Consul.
  • advertise_addr: Cambia questo con l’indirizzo IP rispettivo del server Consul.
  • bootstrap_expect: Quanti server ci sarebbero nel tuo cluster?
  • encrypt: Ogni server deve avere la stessa chiave.
  • retry_join: Inserisci gli indirizzi IP del cluster Consul in questo parametro.
# Le opzioni di configurazione complete possono essere trovate su https://www.consul.io/docs/agent/config  
  
# datacenter  
datacenter = "kitty-dc1"  
  
# data_dir  
# Questo flag fornisce una directory dati per l'agente per memorizzare lo stato.   
data_dir = "/opt/consul"  
  
# client_addr  
# L'indirizzo a cui Consul si collegherà alle interfacce client, inclusi i server HTTP e DNS.  
#  
client_addr = "0.0.0.0"  
  
# ui  
# Abilita il server web UI integrato e le rotte HTTP richieste.  
ui_config{  
  enabled = true  
}  
  
# dominio predefinito  
domain = "consul"  
  
# abilita dns_config  
dns_config{  
  enable_truncate = true  
  only_passing = true  
}  
  
# server  
# Questo flag viene utilizzato per controllare se un agente è in modalità server o client. Quando fornito,  
# un agente agirà come un server Consul. Ogni cluster Consul deve avere almeno un  
# server e idealmente non più di 5 per datacenter. Tutti i server partecipano all'algoritmo di consenso Raft  
# per garantire che le transazioni avvengano in modo coerente e linearizzabile.  
# Le transazioni modificano lo stato del cluster, che è mantenuto su tutti i nodi server per  
# garantire la disponibilità in caso di guasto del nodo. I nodi server partecipano anche a un  
# pool di gossip WAN con nodi server in altri datacenter. I server fungono da gateway per  
# altri datacenter e inoltrano il traffico come appropriato.  
server = true  
  
# Indirizzo pubblicitario - se vuoi indirizzare i client a un indirizzo diverso da bind o LB.  
advertise_addr = "192.168.10.41"  
  
# bootstrap_expect  
# Questo flag fornisce il numero di server attesi nel datacenter.  
bootstrap_expect=3  
  
# encrypt  
# Specifica la chiave segreta da utilizzare per la crittografia del traffico di rete Consul.  
encrypt = "jFtV8jj4h1hnXGqTllWH+sOqLo/tw9xnnfDHcVxVnYg="  
  
# retry_join  
retry_join = ["192.168.10.41", "192.168.10.42", "192.168.10.43"]

Salva e chiudi il file quando hai finito.

Successivamente, esegui il seguente comando per verificare le configurazioni di Consul. Se hai una sintassi corretta, dovresti ottenere un output come ‘ La configurazione è valida ‘.

sudo consul validate /etc/consul.d/

validate consul

Ora esegui il comando qui sotto per avviare e abilitare il servizio consul.

sudo systemctl start consul  
sudo systemctl enable consul

Quindi verifica il consul utilizzando il seguente comando per assicurarti che il servizio sia in esecuzione.

sudo systemctl status consul

Nell’output seguente, dovresti vedere che Consul è in esecuzione sul server consul1.

consul1 running

Nell’output seguente, dovresti vedere che Consul è in esecuzione sul server consul2.

consul2 runningh

Nell’output seguente, dovresti vedere che Consul è in esecuzione sul server consul3.

consul3 running

Interagire con il cluster Consul

Ora che hai configurato il cluster Consul sui server AlmaLinux, puoi verificare e interagire con il cluster Consul tramite la riga di comando consul.

Controllare il cluster Consul

Esegui il comando qui sotto per controllare i server Consul disponibili all’interno del cluster.

consul members

In questo esempio, il cluster Consul è composto da tre server, consul1, consul2 e consul3.

Puoi anche verificare l’elenco dei peer nel Cluster utilizzando il comando qui sotto.

consul operator raft list-peers

Qui sotto puoi vedere informazioni dettagliate su ciascun server Consul, inclusi ID, stato, votante e versione di RaftProtocol.

Aggiungere KV (Key-Value) Store a Consul

Successivamente, esegui il seguente comando consul per creare un nuovo database key-value. In questo esempio, creerai una nuova chiave db_name con il valore testdb.

consul kv put consul/configuration/db_name testdb

Ora esegui il comando qui sotto per recuperare il valore per db_name.

consul kv get consul/configuration/db_name

Dovresti ottenere il valore testdb come segue:

add kv consul

Interagire con DNS su Consul

All’interno di questa guida, hai abilitato il DNS di Consul. Per controllare la configurazione DNS di Consul, utilizza il comando dig qui sotto.

dig @127.0.0.1 -p 8600 consul.service.consul

In questo esempio, hai configurato i server Consul all’interno del cluster con lo stesso nome di dominio di consul. Il seguente conferma che il dominio consul.service.consul ha record A 192.168.10.41, 192.168.10.42, 192.168.10.43.

consul dns

Accedere all’interfaccia web di Consul

Infine, apri il tuo browser web e visita l’indirizzo IP del server Consul con la porta 8500, ad esempio: http://192.168.10.41:8500/ui/ per accedere alla dashboard di amministrazione web di Consul.

Qui sotto dovresti vedere i server disponibili nel cluster Consul.

consul web ui

Ora, fai clic sul menu Nodes per ottenere informazioni dettagliate su ciascun server.

list nodes

Quindi fai clic sul menu Key/Value per ottenere l’elenco dei KV disponibili sui tuoi server Consul.

check kv

Conclusione

Per concludere, hai completato l’installazione passo dopo passo del cluster Consul con tre server AlmaLinux. Hai abilitato l’interfaccia web di Consul e il DNS di Consul all’interno del cluster. Infine, hai anche appreso alcuni comandi di base per interagire con i cluster Consul, i key-value store e il DNS.

Da qui, puoi ora attivare le ACL (Access Control Lists) e implementare TLS per le connessioni tra i server e i client di Consul.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.