keepalivedの構築
sudo apt install keepalived
Config
以下のサイトを見ながら設定を作成した.
第4章 Keepalived を用いたロードバランサーの初期設定 Red Hat Enterprise Linux 7 | Red Hat Customer Portal
haproxyをkeepalivedで冗長化して高可用性ロードバランサを構築する - ビビリフクロウの足跡
keepalived を使ってみたメモ - ngyukiの日記
17.11 Keepalivedの通知スクリプトと追跡スクリプトについて
Linux Virtual ServerとKeepalivedで作る冗長化ロードバランサ 4ページ | OSDN Magazine
VIPを複数割り当ててリソースを活用するために以下を参考にした.
keepalivedによるサーバ冗長化について | GMOアドパートナーズグループ TECH BLOG byGMO
設定例
! Configuration File for keepalived
vrrp_script chk_haproxy {
script "systemctl is-active haproxy"
}
vrrp_instance VI_1 {
state BACKUP
priority 50
interface ens160
garp_master_delay 10
virtual_router_id 31
advert_int 1
authentication {
auth_type PASS
auth_pass FUGAFUGA
}
virtual_ipaddress {
192.168.100.10
}
}
vrrp_instance VI_2 {
state MASTER
priority 100
interface ens160
virtual_router_id 32
advert_int 1
authentication {
auth_type PASS
auth_pass HOGEHOGE
}
virtual_ipaddress {
192.168.100.11
}
track_script {
chk_haproxy
}
}
! Configuration File for keepalived
vrrp_script chk_haproxy {
script "systemctl is-active haproxy"
}
vrrp_instance VI_1 {
state MASTER
priority 100
interface ens160
garp_master_delay 10
virtual_router_id 31
advert_int 1
authentication {
auth_type PASS
auth_pass FUGAFUGA
}
virtual_ipaddress {
192.168.100.10
}
}
vrrp_instance VI_2 {
state BACKUP
priority 50
interface ens160
virtual_router_id 32
advert_int 1
authentication {
auth_type PASS
auth_pass HOGEHOGE
}
virtual_ipaddress {
192.168.100.11
}
track_script {
chk_haproxy
}
}
Experiment
どちらかのノードで以下を実行して vip が変わるか確認する.
sudo systemctl stop keepalived