GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare il servizio di bilanciamento del carico HAProxy

Panoramica

Tratteremo i passaggi su come configurare il servizio di bilanciamento del carico HAProxy. HAProxy può essere eseguito con istruzioni round-robin e in modalità failover, ma può anche essere eseguito con entrambi contemporaneamente, assicurando l'HA (High Availability). Oltre a eseguire HAProxy solo in modalità round-robin, alcuni scenari HA richiedono il failover in cui si desidera avere uno o più server di backup per i server principali che servono un sito Web o un'app per un ambiente HA più affidabile e con una manutenzione più semplice.

Oltre a questo, HAProxy può anche essere eseguito come passthrough SSL che viene utilizzato per crittografare tutto il traffico in entrata sulla tua infrastruttura che è trattato in questo post (usando certbot e crittografiamo SSL.) In questo post, sono trattate le istruzioni e la configurazione di HAProxy per scenari in cui si installa HAProxy direttamente su un server (bare metal o VM), in altre parole, non in un container.

Se sei interessato anche a come aggiungere SSL al tuo HAProxy, questo è trattato in questo post. Possiamo anche configurare un sistema di bilanciamento del carico haproxy con una crittografia SSL/HTTPS e avere un traffico di bilanciamento del carico sicuro.

Modalità round robin

L'algoritmo round robin è l'insieme di istruzioni per dividere il traffico equamente (in questo esempio), il che significa che, se si hanno due server, entrambi i server riceveranno il traffico allo stesso modo o in altre parole, round robin si assicurerà che entrambi i server ricevano uguale quantità di traffico e in questo modo assicurandosi che i server e la larghezza di banda non siano sovraccarichi.

Modalità failover

Come accennato in precedenza, in modalità failover, si assegna a HAProxy quale server sarà il server primario, che riceverà il traffico e anche un server di backup che si occuperà del traffico di ricezione se il server primario si interrompe. Ciò significa che quando il server primario si interrompe, il server di backup prende il sopravvento e sostituisce il server primario fino a quando non torna online riducendo così al minimo i tempi di inattività.

Ciò è utile anche quando è necessario eseguire la manutenzione del server, quindi quando esegui l'aggiornamento e l'aggiornamento su un server o deve essere riavviato, l'altro server sarà attivo e funzionante e assumerà il ruolo di server primario e continuerà a servire il sito/l'app.

Configura il sistema di bilanciamento del carico HAProxy

Configurazione failover

Gli indirizzi IP nella configurazione seguente vengono utilizzati come esempio. La configurazione è piuttosto semplice. Nel file HAProxy cfg aggiungi la configurazione come questa sotto la configurazione predefinita:

frontend haproxy
bind 10.0.51.119:80
mode http
default_backend test_site

backend test_site
mode http
server testserver1 10.0.51.121:80 check inter 5s rise 3 fall 2
server testserver2 10.0.51.120:80 check backup inter 5s rise 3 fall 2

La parte frontend della configurazione è HAProxy. Associa HAProxy con il suo indirizzo IP e il numero di porta (porta di servizio). In questo esempio, utilizziamo la porta 80 per HTTP. Se HAProxy è esposto pubblicamente su Internet, utilizza l'indirizzo IP pubblico di HAProxy.

Definisci per haproxy frontend che ha un backend, dove configuriamo e aggiungiamo server.

In questo esempio, abbiamo aggiunto due server per il backend haproxy. Testserver 1 è il server primario e testserver2 è il server di backup. Chiariremo anche i parametri aggiunti sui server:

server testserver1 10.0.51.121:80 check inter 5s rise 3 fall 2 

server testserver2 10.0.51.120:80 check backup inter 5s rise 3 fall 2

Su entrambi i server, abbiamo aggiunto gli intervalli di verifica online del server. Per il testserver1, se non risponde dopo 5 secondi con 3 controlli (3 controlli a intervalli di 5 secondi), verrà contrassegnato come offline e il server di backup subentrerà. Se il testserver1 torna online, prenderà il controllo dopo 2 controlli.

Gli stessi parametri di controllo vengono aggiunti per il server di backup.

Configurazione round robin

HAProxy ha le istruzioni round-robin già integrate all'interno, quindi nella parte posteriore della configurazione è solo necessario aggiungere la riga di configurazione – balance roundrobin.

Come nella configurazione seguente:

frontend haproxy 
bind 10.0.51.119:80 
mode http 
default_backend test_site 

backend test_site 
balance roundrobin
mode http server testserver1 10.0.51.121:80 check inter 5s rise 3 fall 2 
server testserver2 10.0.51.120:80 check backup inter 5s rise 3 fall 2

Failover + round robin

Abbiamo menzionato che HAProxy può essere configurato con un algoritmo round-robin e avere anche un server di failover. Per questa configurazione si consiglia di avere più server, i server primari su cui caricare bilanciare il traffico in entrata e un server di failover (backup) separato da subentrare se i server primari si interrompono. La configurazione per questo tipo di configurazione sarebbe simile a questa:

backend test_site 
balance roundrobin 
mode http 
server testserver1 10.0.51.121:80 check inter 5s rise 3 fall 2 
server testserver2 10.0.51.120:80 check inter 5s rise 3 fall 2
server testserver3 10.0.51.121:80 check backup inter 5s rise 3 fall 2

Quindi, in questa configurazione, abbiamo aggiunto un terzo server, che abbiamo assegnato in HAProxy per fungere da server di backup, mentre i primi due fungeranno da server primari e HAProxy riequilibrerà il traffico su di essi.

Riepilogo

Questi sono stati gli esempi su come configurare il servizio di bilanciamento del carico HAProxy. Questo era solo un paio di esempi di come è configurato più comunemente. Se sei interessato anche a come aggiungere SSL al tuo HAProxy, questo è trattato in questo post. Spero che il post ti sia utile.


Linux
  1. Come configurare un server web Apache

  2. Come configurare un bilanciamento del carico su un server BMC s0.d1.small

  3. Come installare e configurare il bilanciamento del carico HAProxy su Debian 11

  4. Come installare e configurare il sistema di bilanciamento del carico HAProxy su Rocky Linux/Alma Linux 8

  5. Come installare e configurare il bilanciamento del carico HAProxy su Ubuntu 20.04

Come configurare HAProxy come Load Balancer per Nginx su CentOS 8

Come configurare HAProxy come Load Balancer per Nginx in CentOS 7

Come configurare IIS in Windows Server 2012

Come configurare il DNS in Windows Server 2012

Come configurare NGINX su un server CentOS 7

Come configurare HAProxy su CentOS 8