GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer l'équilibreur de charge HAProxy

Aperçu

Nous couvrirons les étapes de configuration de l'équilibreur de charge HAProxy. HAProxy peut fonctionner avec des instructions circulaires et en mode de basculement, mais il peut également fonctionner avec les deux en même temps, assurant la haute disponibilité (HA). Outre l'exécution de HAProxy en mode round-robin uniquement, certains scénarios HA nécessitent un basculement où vous souhaitez disposer d'un ou plusieurs serveurs de sauvegarde pour les serveurs principaux qui desservent un site Web ou une application pour un environnement HA plus fiable et avec une maintenance plus facile.

En dehors de cela, HAProxy peut également fonctionner comme un relais ssl qui est utilisé pour crypter tout le trafic entrant sur votre infrastructure qui est couvert dans ce post (en utilisant certbot et chiffrons ssl.) Dans ce post, les instructions et la configuration de HAProxy sont couvertes pour les scénarios où vous installez HAProxy directement sur un serveur (bare metal ou VM), en d'autres termes - pas dans un conteneur.

Si vous souhaitez également savoir comment ajouter SSL à votre HAProxy, cela est couvert dans cet article. Nous pouvons également configurer l'équilibreur de charge haproxy avec un cryptage SSL/HTTPS et avoir un trafic d'équilibrage de charge sécurisé.

Mode circulaire

L'algorithme round-robin est l'ensemble d'instructions pour diviser le trafic de manière égale (dans cet exemple), ce qui signifie que, si vous avez deux serveurs - les deux serveurs recevront le trafic de manière égale ou en d'autres termes, le round-robin s'assurera que les deux serveurs obtiennent quantité égale de trafic et de cette façon en s'assurant que les serveurs ni la bande passante ne sont pas surchargés.

Mode de basculement

Comme mentionné précédemment, en mode de basculement, vous affectez à HAProxy quel serveur sera le serveur principal, qui va recevoir le trafic et également un serveur de secours qui va reprendre le trafic de réception si le serveur principal tombe en panne. Cela signifie que lorsque le serveur principal tombe en panne, le serveur de sauvegarde prend le relais et remplace le serveur principal jusqu'à ce qu'il revienne en ligne, réduisant ainsi le temps d'arrêt au minimum.

Ceci est également utile lorsque la maintenance du serveur doit être effectuée, donc lorsque vous exécutez la mise à jour et la mise à niveau sur un serveur ou qu'il doit être redémarré, l'autre serveur sera opérationnel et reprendra le rôle de serveur principal et continuera à servir le site/l'application.

Configurer l'équilibreur de charge HAProxy

Configuration du basculement

Les adresses IP dans la configuration ci-dessous sont utilisées à titre d'exemple. La configuration est assez simple. Dans le fichier HAProxy cfg, ajoutez une configuration comme celle-ci juste en dessous de la configuration par défaut :

frontend haproxybind 10.0.51.119:80mode httpdefault_backend test_sitebackend test_sitemode httpserver testserver1 10.0.51.121:80 check inter 5s rise 3 fall 2server testserver2 10.0.51.120:80 check backup inter 5s rise 3 fall 2

La partie frontale de la configuration est HAProxy. Liez HAProxy avec son adresse IP et son numéro de port (port de service). Dans cet exemple, nous utilisons le port 80 pour HTTP. Si votre HAProxy est exposé publiquement sur Internet, utilisez l'adresse IP publique de HAProxy.

Définissez pour haproxy frontend qu'il a un backend, où nous configurons et ajoutons des serveurs.

Dans cet exemple, nous avons ajouté deux serveurs pour le backend haproxy. Testserver 1 est le serveur principal et testserver2 est le serveur de sauvegarde. Nous clarifierons également les paramètres ajoutés sur les serveurs :

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

Sur les deux serveurs, nous avons ajouté les intervalles de vérification en ligne du serveur. Pour le testserver1, s'il ne répond plus après 5 secondes avec 3 vérifications (3 vérifications à 5 secondes d'intervalle), il sera signalé comme étant hors ligne et le serveur de sauvegarde prendra le relais. Si le testserver1 revient en ligne, il prendra le relais après 2 vérifications.

Les mêmes paramètres de vérification sont ajoutés pour le serveur de sauvegarde.

Configuration circulaire

HAProxy a les instructions round-robin déjà intégrées, donc dans la partie sauvegardée de la configuration, il suffit d'ajouter la ligne de configuration - balance roundrobin.

Comme dans la configuration ci-dessous :

frontend haproxy bind 10.0.51.119:80 mode http default_backend test_site backend test_site balance roundrobinmode 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 

Basculement + tourniquet

Nous avons mentionné que HAProxy peut être configuré avec un algorithme round-robin et avoir également un serveur de basculement. Pour cette configuration, il est recommandé d'avoir plus de serveurs, les serveurs principaux sur lesquels équilibrer la charge du trafic entrant et un serveur de basculement (sauvegarde) séparé pour prendre le relais si les serveurs principaux tombent en panne. La configuration pour ce type d'installation ressemblerait à ceci :

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 2server testserver3 10.0.51.121:80 check backup inter 5s rise 3 fall 2

Ainsi, dans cette configuration, nous avons ajouté un troisième serveur, que nous avons assigné dans HAProxy pour agir en tant que serveur de secours, tandis que les deux premiers agiront en tant que serveurs principaux et HAProxy équilibrera le trafic sur eux.

Résumé

Voici les exemples de configuration de l'équilibreur de charge HAProxy. Ce n'était que quelques exemples de la configuration la plus courante. Si vous souhaitez également savoir comment ajouter SSL à votre HAProxy, cela est couvert dans cet article. J'espère que le message vous sera utile.


Linux
  1. Comment configurer un serveur Web Apache

  2. Comment configurer un équilibreur de charge sur un serveur BMC s0.d1.small

  3. Comment installer et configurer l'équilibreur de charge HAProxy sur Debian 11

  4. Comment installer et configurer l'équilibreur de charge HAProxy sur Rocky Linux/Alma Linux 8

  5. Comment installer et configurer l'équilibreur de charge HAProxy sur Ubuntu 20.04

Comment configurer HAProxy comme équilibreur de charge pour Nginx sur CentOS 8

Comment configurer HAProxy comme équilibreur de charge pour Nginx dans CentOS 7

Comment configurer IIS dans Windows Server 2012

Comment configurer DNS dans Windows Server 2012

Comment configurer NGINX sur un serveur CentOS 7

Comment configurer HAProxy sur CentOS 8