Keepalived
主要是想試著用 vagrant 搭建 keepalived 環境來練習。
環境需要四台機器:
- keepalived: 兩台,一台 master,一台 slave,這兩台同時也會安裝 HAProxy。
- 主機名稱:master, 192.168.60.11
- 主機名稱:slave: 192.168.60.12
- Apache: 一台,當作是 HAProxy 的 backend。
- 主機名稱:u3
- Bastion: 一台,當作是客戶端,用來存取 VIP。
- 主機名稱:u4
因為 Vagrantfile 裏面是針對每一台主機去指定 provisioner 使用 Ansible,所以是個別去執行 ansible playbook。這裡有三台主機指定了 provisioner,所以會執行三次。
這也會影響到 playbook 的寫法,這邊我是儘量把共用的部份抽取出來,然後使用 include_tasks: xxx.yml
來包含共用的部份。
整份程式碼放在 elleryq/vagrant-keepalived-demo: Demo keepalived with Vagrant
這裡不多做贅述,只紀錄這次比較印象深刻的幾個模組用法:
- seport: 要使用這個模組,在 RHEL8/CentOS8 裡要安裝 python3-libselinux 跟 python3-policycoreutils。
- firewalld: 要立即生效,記得加上
immediate: yes
。