讓筆者用一個情境故事來說明 Ansible 可以帶來的價值是什麼。
假設主管委託你做一件任務是『我們有三台伺服器,需要同時安裝套件,配置設定檔案』。
那你會怎麼做呢?
很多人的第一反應可能會是:
當然,這樣的做法的確可以完成任務,但如果又有新的 Server 加入或者是設定又要變更呢?
這時候的你最需要的就是 Ansible 了!
簡單來說,Ansible 是一個透過 YAML 語言來描述整個流程的自動化工具,可以幫你完成:
說了這麼多,就讓我們來看一個超簡單的範例吧。
如果我們現在有三台機器,我可以怎麼快速確認這三台是否可以 PING 到呢?
先用使用本機的方式快速測試(不需要 inventory 檔案):
ansible all -i localhost, -c local -m ping
若使用 inventory.ini
,可像下面這樣設定:
[all]
192.0.2.10 ansible_user=ubuntu
192.0.2.11 ansible_user=ubuntu
192.0.2.12 ansible_user=ubuntu
然後執行:
ansible all -i inventory.ini -m ping
all
:代表要對 inventory.ini
裡面定義的所有主機執行任務。-i inventory.ini
:指定使用的 inventory 檔案。-m ping
:使用 ping
模組來確認連線。192.0.2.10 | SUCCESS => {
"changed": false,
"ping": "pong"
}
大家可以想一想,在你的生活或工作中,有哪三種情況是可以使用 Ansible 來解決的呢?可以在留言區分享你的想法,或者是直接在你的筆記裡面寫下來。
明天就讓我們來將 Ansible 安裝起來,並且完成一個自己的自動化流程吧!