GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare Consul Server su Ubuntu 20.04

Consul è una soluzione mesh di servizi che offre un piano di controllo completo, tra cui funzionalità di segmentazione, configurazione e rilevamento dei servizi. Queste funzionalità possono essere utilizzate singolarmente in base alle esigenze oppure possono essere utilizzate insieme per creare una mesh a servizio completo. Consul opera su un piano dati e supporta sia un proxy che un modello di integrazione nativo. Consul viene fornito con un semplice proxy integrato che garantisce che tutto funzioni immediatamente. Consul supporta anche integrazioni proxy di terze parti, come Envoy.

Le caratteristiche principali di Consul includono:

  • Scoperta del servizio
  • Controllo dello stato di salute
  • Negozio KV
  • Comunicazione sicura del servizio
  • Funzionalità multi-datacenter

In questo tutorial, ti mostreremo come installare un server Consul su Ubuntu 20.04.

Prerequisiti

  • Un nuovo VPS Ubuntu 20.04 sulla piattaforma Atlantic.Net Cloud
  • Sul tuo server è configurata una password di root

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 20.04 come sistema operativo con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al tuo server Ubuntu 20.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.

apt-get update -y

Fase 2 – Installa Consul Server

Innanzitutto, installa i pacchetti richiesti con il seguente comando:

apt-get install unzip gnupg2 curl wget -y

Quindi, scarica l'ultima versione di Consul con il seguente comando:

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

Una volta completato il download, decomprimere il file scaricato con il seguente comando:

unzip consul_1.8.4_linux_amd64.zip

Quindi, sposta il binario console nella directory /usr/local/bin con il seguente comando:

mv consul /usr/local/bin/

Successivamente, verifica la versione di Consul utilizzando il seguente comando:

consul --version

Dovresti ottenere il seguente output:

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)

Fase 3:crea un file di servizio Consul

Innanzitutto, dovrai creare un utente e un gruppo separati per Consul. Puoi crearli con il seguente comando:

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

Quindi, crea le directory richieste con il seguente comando:

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

Quindi, modifica la proprietà e l'autorizzazione di tali directory:

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

Quindi, crea un file di servizio di sistema Console con il seguente comando:

nano /etc/systemd/system/consul.service

Aggiungi le seguenti righe:

[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

Salva e chiudi il file quando hai finito.

Nota :Fornisci l'ip del server, il percorso della directory dei dati e la directory di configurazione corretti che hai creato in precedenza.

Quindi, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Fase 4 – Configura Console Server

Innanzitutto, dovrai generare una chiave per la lunghezza e la codifica necessarie. Puoi generarlo con il seguente comando:

consul keygen

Dovresti ottenere il seguente output:

TJ8iw/XJ+0/BSUMGuLFWkeT23LmGnfhmF/qWgA25wZU=

Successivamente, dovrai creare un file di configurazione Json per Consul. Puoi crearlo con il seguente comando:

nano /etc/consul.d/config.json

Fornisci l'IP del tuo server, il nome host e la chiave Consul come mostrato di seguito:

{
"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="
}

Salva e chiudi il file quando hai finito.

Successivamente, avvia il servizio Consul e abilitalo all'avvio al riavvio del sistema con il seguente comando:

systemctl start consul
systemctl enable consul

Successivamente, verifica lo stato del Console con il seguente comando:

systemctl status consul

Dovresti ottenere il seguente output:

● 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>

A questo punto il server Consul è avviato ed è in ascolto sulla porta 8500. Puoi verificarlo con il seguente comando:

ss -plunt | grep 8500

Dovresti ottenere il seguente output:

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

Passaggio 5 – Configura Nginx come proxy inverso

Successivamente, è una buona idea installare e configurare Nginx come proxy inverso per accedere al Console sulla porta 80.

Innanzitutto, installa il server Nginx con il seguente comando:

apt-get install nginx -y

Una volta installato, rimuovere il file di configurazione dell'host virtuale predefinito di Nginx:

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

Quindi, crea un file di configurazione dell'host virtuale Consul con il seguente comando:

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

Aggiungi le seguenti righe:

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;
}
}

Salva e chiudi il file, quindi attiva l'host virtuale con il seguente comando:

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

Quindi, controlla Nginx per eventuali errori di sintassi con il seguente comando:

nginx -t

Dovresti ottenere il seguente output:

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

Quindi, riavvia il servizio Nginx con il seguente comando:

systemctl restart nginx

Se ricevi errori, dovrai modificare il file di configurazione del server predefinito di Nginx e impostare server_names_hash_bucket_size:

nano /etc/nginx/nginx.conf

Aggiungi la seguente riga sotto http { :

server_names_hash_bucket_size 64;

Salva e chiudi il file, quindi riavvia il servizio Nginx per applicare le modifiche:

systemctl restart nginx

Fase 6 – Accedi al dashboard di Console

Quindi, apri il tuo browser web e accedi all'interfaccia web di Consul utilizzando l'URL http://your-server-ip/ui . Dovresti vedere la dashboard Consul nella pagina seguente:

Fai clic sui Nodi per elencare i nodi attivi nel tuo server come mostrato di seguito:

Conclusione

Congratulazioni! Hai installato con successo il server Consul su Ubuntu 20.04. Ora puoi aggiungere più nodi client al server Consul e iniziare a gestirli dal dashboard Consul. Per ulteriori informazioni, è possibile visitare la documentazione Consul. Inizia con Consul su VPS Hosting da Atlantic.Net!


Linux
  1. Come installare il server EteSync su Ubuntu 20.04

  2. Come installare TeamSpeak Server su Ubuntu 18.04 e 20.04

  3. Come installare MongoDB su Ubuntu 20.04

  4. Come installare localizzare su un server Ubuntu

  5. Come installare R su Ubuntu 18.04

Come installare Jenkins su Ubuntu 18.04

Come installare Ruby su Ubuntu 18.04

Come installare Ansible Server su Ubuntu 18.04

Come installare Monit Monitoring Server su Ubuntu 20.04.

Come installare Kanboard su Ubuntu 20.04

Come installare il server EteSync su Ubuntu 20.04