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