ansible

Keepalived

主要是想試著用 vagrant 搭建 keepalived 環境來練習。

環境需要四台機器:

  • keepalived: 兩台,一台 master,一台 slave,這兩台同時也會安裝 HAProxy。
    • 主機名稱:master, 192.168.60.11
    • 主機名稱:slave: 192.168.60.12
  • Apache: 一台,當作是 HAProxy 的 backend。
    • 主機名稱:u3
  • Bastion: 一台,當作是客戶端,用來存取 VIP。
    • 主機名稱:u4

如何判別 Linux 發行版

Task 要依據 Linux 發行版來處理,該怎麼做呢?

這些資訊在 gather_facts 後,會放到 ansible_facts 裡,在寫 task 時,就可以直接使用。

主要的變數有這幾個:

  • ansible_distribution: 發行版名稱,例如 “CentOS”
  • ansible_distribution_major_version: 發行版主要版號,例如 “7”
  • ansible_distribution_version: 發行版版本,例如 “7.5.1804”
  • ansible_os_family: 發行版家族名稱,例如 CentOS 的 ansible_os_family 會是 RedHat

要看 ansible_facts 還有哪些變數可使用,可以參考 Discovering variables: facts and magic variables — Ansible Documentation

Module 預設值 - module defaults

前一陣子在撰寫 playbook 操作 OpenShift 時,常常模組是同一個,裏面的 kubeconfig 是固定的,寫起來就很重複。 在以前不知道有 module_defaults 的時候,都是用變數來處理。現在知道有 module_defaults 以後,就可以用這個語法來處理了。