This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
сервис_keepalived [2022/08/19 15:44] 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 63: | Line 72: | ||
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.201 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 | ||
} | } | ||
Line 78: | Line 86: | ||
weight 1 | weight 1 | ||
TCP_CHECK { | TCP_CHECK { | ||
- | connect_timeout 3 | ||
connect_port 7505 | connect_port 7505 | ||
} | } | ||
} | } | ||
- | # real_server 192.168.X.203 1194 { | + | } |
- | # weight 1 | + | |
- | # TCP_CHECK { | + | # test_nodes |
- | # connect_timeout 3 | + | virtual_server 172.16.1.X 2194 { |
- | # connect_port 7505 | + | protocol UDP |
- | # } | + | lb_algo wlc |
- | # } | + | lb_kind NAT |
+ | real_server 192.168.X.203 1194 { | ||
+ | TCP_CHECK { | ||
+ | connect_port 7505 | ||
+ | } | ||
+ | } | ||
} | } | ||
Line 94: | Line 106: | ||
#virtual_server 172.16.1.X 80 { | #virtual_server 172.16.1.X 80 { | ||
# protocol TCP | # protocol TCP | ||
+ | # lb_algo wlc | ||
+ | # lb_kind NAT | ||
- | # real_server 192.168.X.201 80 {} | + | # real_server 192.168.X.10 82 {} |
- | # real_server 192.168.X.201 8000 {} | + | # real_server 192.168.X.10 8000 {} |
- | # real_server 192.168.X.202 NNNNN {TCP_CHECK {}} | + | # real_server 192.168.X.10 NNNNN {TCP_CHECK {}} |
# ... | # ... | ||
- | # real_server 192.168.X.203 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> | ||
Line 113: | Line 131: | ||
# watch "service keepalived status | cat" | # watch "service keepalived status | cat" | ||
- | # ipvsadm -L -n | + | # watch ipvsadm -L -n |
+ | |||
+ | # ipvsadm -L -n -c | ||
</code> | </code> |