This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
сервис_keepalived [2022/06/16 16:20] val |
сервис_keepalived [2025/01/02 07:13] (current) val [Настройка балансировки нагрузки] |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| * [[https://winitpro.ru/index.php/2019/09/09/keepalived-ha-balansirovka-plavayushhiy-ip-adres/|Keepalived: настройка высокой доступности и плавающих IP адресов в CentOS 7]] | * [[https://winitpro.ru/index.php/2019/09/09/keepalived-ha-balansirovka-plavayushhiy-ip-adres/|Keepalived: настройка высокой доступности и плавающих IP адресов в CentOS 7]] | ||
| * [[https://habr.com/ru/post/524688/|Отказоустойчивый кластер с балансировкой нагрузки с помощью keepalived]] | * [[https://habr.com/ru/post/524688/|Отказоустойчивый кластер с балансировкой нагрузки с помощью keepalived]] | ||
| + | * [[https://youtu.be/oIczkkD-hOU|Видео урок: Доступ к приложениям в Bare-Metal Kubernetes]] | ||
| + | |||
| ===== Установка ==== | ===== Установка ==== | ||
| Line 11: | Line 13: | ||
| ===== Настройка VRRP ==== | ===== Настройка VRRP ==== | ||
| + | |||
| + | * Разобраться: как ведет себя в случае link down eth1/2 | ||
| + | * [[https://github.com/acassen/keepalived/blob/master/doc/samples/keepalived.conf.vrrp.routes]] | ||
| + | |||
| <code> | <code> | ||
| nodeN# cat /etc/keepalived/keepalived.conf | nodeN# cat /etc/keepalived/keepalived.conf | ||
| Line 28: | Line 34: | ||
| # 172.16.2.X/24 dev eth2 | # 172.16.2.X/24 dev eth2 | ||
| } | } | ||
| + | # virtual_routes { | ||
| + | # 0.0.0.0/0 via 172.16.1.254 dev eth1 | ||
| + | # } | ||
| notify_backup "/usr/local/bin/vrrp.sh BACKUP" | notify_backup "/usr/local/bin/vrrp.sh BACKUP" | ||
| notify_master "/usr/local/bin/vrrp.sh MASTER" | notify_master "/usr/local/bin/vrrp.sh MASTER" | ||
| Line 57: | Line 66: | ||
| ===== Настройка балансировки нагрузки ===== | ===== Настройка балансировки нагрузки ===== | ||
| + | |||
| + | * [[https://habr.com/ru/post/104621/|Балансировка нагрузки с LVS]] | ||
| + | |||
| <code> | <code> | ||
| gate# cat /etc/keepalived/keepalived.conf | gate# cat /etc/keepalived/keepalived.conf | ||
| </code><code> | </code><code> | ||
| + | # prod_nodes | ||
| virtual_server 172.16.1.X 1194 { | virtual_server 172.16.1.X 1194 { | ||
| - | delay_loop 1 | ||
| protocol UDP | protocol UDP | ||
| - | lb_algo wrr # makes no difference | + | lb_algo wlc |
| - | lb_kind NAT # no difference too | + | lb_kind NAT |
| - | real_server 192.168.X.10 1194 { | + | real_server 192.168.X.201 1194 { |
| weight 1 | weight 1 | ||
| TCP_CHECK { | TCP_CHECK { | ||
| - | connect_timeout 3 | ||
| connect_port 7505 | connect_port 7505 | ||
| } | } | ||
| } | } | ||
| - | real_server 192.168.X.20 1194 { | + | real_server 192.168.X.202 1194 { |
| weight 1 | weight 1 | ||
| TCP_CHECK { | TCP_CHECK { | ||
| - | connect_timeout 3 | ||
| connect_port 7505 | connect_port 7505 | ||
| } | } | ||
| } | } | ||
| - | # real_server 192.168.X.30 1194 { | ||
| - | # weight 1 | ||
| - | # TCP_CHECK { | ||
| - | # connect_timeout 3 | ||
| - | # connect_port 7505 | ||
| - | # } | ||
| - | # } | ||
| } | } | ||
| + | |||
| + | # test_nodes | ||
| + | virtual_server 172.16.1.X 2194 { | ||
| + | protocol UDP | ||
| + | lb_algo wlc | ||
| + | lb_kind NAT | ||
| + | real_server 192.168.X.203 1194 { | ||
| + | TCP_CHECK { | ||
| + | connect_port 7505 | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | |||
| + | #virtual_server 172.16.1.X 80 { | ||
| + | # protocol TCP | ||
| + | # lb_algo wlc | ||
| + | # lb_kind NAT | ||
| + | |||
| + | # real_server 192.168.X.10 82 {} | ||
| + | # real_server 192.168.X.10 8000 {} | ||
| + | |||
| + | # real_server 192.168.X.10 NNNNN {TCP_CHECK {}} | ||
| + | # ... | ||
| + | |||
| + | # real_server 192.168.X.201 NNNNN {TCP_CHECK {}} | ||
| + | # ... | ||
| + | # real_server 192.168.X.203 30111 {TCP_CHECK {}} | ||
| + | # ... | ||
| + | # real_server 192.168.X.10 80 {} | ||
| + | #} | ||
| </code> | </code> | ||
| ===== Запуск и мониторинг ===== | ===== Запуск и мониторинг ===== | ||
| <code> | <code> | ||
| + | # keepalived -t | ||
| + | |||
| # service keepalived restart | # service keepalived restart | ||
| # watch "service keepalived status | cat" | # watch "service keepalived status | cat" | ||
| + | |||
| + | # watch ipvsadm -L -n | ||
| + | |||
| + | # ipvsadm -L -n -c | ||
| </code> | </code> | ||