Load balancing avec HAProxy et Keepalived¶
Ce document décrit la mise en place d'un load balancer avec HAProxy et Keepalived. Ce load balancer sert de point d'entrée pour un cluster Kubernetes.
Dans le cadre de ce guide, deux machines Ubuntu 22.04 sont utilisés :
isc-botalista-09
ayant le rôle MASTER ;isc-botalista-10
ayant le rôle BACKUP.
Certificat SSL auto-signé¶
Générer un certificat auto-signé sur la machine MASTER
. Ce dernier est nécessaire
pour HAProxy afin d'établir des connexions SSL.
Envoyer une copie du fichier /etc/ssl/certs/bota-hepia.pem
à toutes les machines
BACKUP
.
HAProxy¶
HAProxy est utilisé pour rediriger les requêtes reçues sur un ensemble de serveurs appelés backends.
L'installation et la configuration sont à effectuer sur les deux machines.
Installation¶
Bash | |
---|---|
Configuration¶
Bash | |
---|---|
Ajouter le contenu suivant dans le fichier de configuration :
Vérifier le fichier de configuration
Bash | |
---|---|
Redémarrer et activer le service
SSL¶
Voici un exemple de configuration SSL pour HAProxy.
Unix/Linux Config Files | |
---|---|
Troubleshooting¶
En cas d'erreur au démarrage de HAproxy, exécuter la commande suivante (en tant que root) permet de déterminer plus précisément la cause du soucis.
Bash | |
---|---|
Keepalived¶
Keepalived est utilisé pour assurer la haute disponibilité du load balancer. Il permet également de définir une adresse IP virtuelle qui est utilisée pour accéder au cluster kubernetes.
L'installation et la configuration sont à effectuer sur les deux machines.
Installation¶
La dernière version de Keepalived n'est pas disponible via APT, il faut donc l'installer via snap.
Bash | |
---|---|
Configuration¶
Créer le fichier de configuration /usr/etc/keepalived/keepalived.conf
suivant
Unix/Linux Config Files | |
---|---|
Les variables doivent être remplacées avec les valeurs suivantes :
${STATE}
:MASTER
pourisc-botalista-09
,BACKUP
pourisc-botalista-10
;${INTERFACE}
:ens160
(doit correspondre à l'interface de vos machines) ;${PRIORITY}
:101
pourisc-botalista-09
,51
pourisc-botalista-10
;
Vérifier la configuration
Redémarrer et activer le service
Ressources¶
Certificat SSL :
HAProxy documentation :
HAProxy troubleshooting :
Keepalived documentation :