haproxy
Перенаправление трафика и балансировщик нагрузки
- Данный конфиг принимает запросы htpps и перенаправляет их на сервера http
- После чего он делает из http https и отправляет клиенту
global
maxconn 20000
frontend http # правила входящего трафика
# такой порт не должен использоваться на сервере
# должен быть pem формат
bind *:443 ssl crt /ca/ha.pem
mode http # мод, так-как это https то тут мод http
default_backend https # куда сувать трафик
backend https # правила перенаправления
balance roundrobin # означает последовательную нагрузку сначала 1, потом 2 и 3. и т.д
mode http # мод как у входящего трафика
server DevOps 192.168.40.10:80 check # сервер check означает проверку того что сервер включен
server Dev-1 192.168.40.1:80 check
server Dev-2 192.168.40.2:80 check
# server name ip:port checkkeepalived
Как HSRP на cisco
Это шаблон для ansible он:
- Берет имя сервера и делает из него router_id
- Берет интерфейс и задает его как Interface
- Задает ему приоритет согласно инвентарю ansible
# ФАЙЛ должен быть /etc/keepalived/keepalived.conf
global_defs {
router_id {{hostname}} # имя
}
vrrp_track_process haproxy {
process haproxy # если haproxy будет работать, то и keepalived включиться
}
vrrp_instance {{hostname}} {
state MASTER # у всех будет одинаковое
interface {{ens}} # указываем интерфейс
virtual_router_id 100 # имя вирутального роутера
priority {{priority}} # приоритет
authentication { # аутенфикация между собой
auth_type PASS
auth_pass 123456
}
virtual_ipaddress { # ip вируального роутера
192.168.40.3/24
}
track_process { # следить за этой vrrp_track_proccess haproxy
haproxy
}
}
# Если нужно поставить ip6
# в одном vrrp_instance нельзя сразу ip4 и ip6
vrrp_instance {{hostname}}_ip6 { # чуть меняем имя
state MASTER
interface {{ens}}
virtual_router_id 100
priority {{priority}}
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress { # ip6 вируального роутера
2001:db8:1001:10:10/24
}
track_process {
haproxy
}
}