HAproxy

Qu-est-ce que HAProxy

Ha proxy est un load balancer de couche 4 et 7 permettant de rediriger le traffic sur plusieurs machines.

Configuration de HAProxy

Installation sous debian

Télécharger le paquet

sudo apt install haproxy -y

Activer le service

sudo systemctl enable --now haproxy

Modifier le fichier de configuration de haproxy

Le fichier de configuration de haproxy se situe dans /etc/haproxy/haproxy.conf

haproxy.conf

global
        log 10.0.0.14:514 local0 debug #envoi des logs au serveurs rsyslog

frontend https
        bind *:443
        option tcplog
        default_backend https

frontend http
        bind *:80
        default_backend http

frontend kube_api
        bind *:6443
        default_backend kube_api

frontend traefik
        bind *:9000
        default_backend traefik

frontend syslog 
        bind *:514
        default_backend syslog


backend https
  mode tcp 
  option tcp-check
  balance roundrobin
  default-server inter 10s downinter 5s rise 2 fall 2 slowstart 60s maxconn 250  maxqueue 250
   maxqueue 256 weight 100
  server k3s-vm-node-01 10.0.0.176:443 check 
  server k3s-vm-node-02 10.0.0.174:443 check 
  server k3s-vm-node-03 10.0.0.175:443 check

backend http
  mode tcp 
  option tcp-check
  balance roundrobin
  default-server inter 10s downinter 5s rise 2 fall 2 slowstart 60s maxconn 250 
  maxqueue 250 maxqueue 256 weight 100
  server k3s-vm-node-01 10.0.0.176:80 check
  server k3s-vm-node-02 10.0.0.174:80 check 
  server k3s-vm-node-03 10.0.0.175:80 check



backend kube_api 
  mode tcp 
  option tcp-check
  balance roundrobin
  default-server inter 10s downinter 5s rise 2 fall 2 slowstart 60s maxconn 250 
     maxqueue 250 maxqueue 256 weight 100
  server k3s-vm-node-01 10.0.0.176:6443 check
  server k3s-vm-node-02 10.0.0.174:6443 check 
  server k3s-vm-node-03 10.0.0.175:6443 check


backend traefik 
        mode tcp 
        option tcp-check
        balance roundrobin
        default-server inter 10s downinter 5s rise 2 fall 2 slowstart 60s maxconn
         250 maxqueue 250 maxqueue 256 weight 100
        server k3s-vm-node-01 10.0.0.176:9000 check
        server k3s-vm-node-02 10.0.0.174:9000 check 
        server k3s-vm-node-03 10.0.0.175:9000 check

backend syslog 
  mode tcp 
  option tcp-check
  balance roundrobin
  default-server inter 10s downinter 5s rise 2 fall 2 slowstart 60s maxconn 250
    maxqueue 250 maxqueue 256 weight 100
  server k3s-vm-node-01 10.0.0.176:514 check
  server k3s-vm-node-02 10.0.0.174:514 check 
  server k3s-vm-node-03 10.0.0.175:514 check

Tester que HA proxy fonctionne

Il est possible de tester que ha proxy fonctionne en vérifiant que le service est bien en fonctionnement.

Il faut effectuer un systemctl status haproxy

service haproxy

Ensuite pour tester le port 80 il est possible de faire un curl sur la VIP avec le port 80.

test-ha

Grâce à la réponse “404 not found” il est possible de voir que le pod traefik nous répond. S’il nous renvoie un 404 not found c’est parce qu’il faut faire une requete avec DNS.