Ansible Inventory 介紹

在 Ansible 的世界裡,我們會透過 inventory 檔案來定義有哪些 Managed node (被控端),並藉由 SSH 和 Python 進行溝通。當 Control Machine (主控端) 可以用 SSH 連上 Managed node,且被連上的機器裡有預載 Python 時,Ansible 就可以運作
* Control Machine 指的是我們主要會在上面操作 Ansible 的機器,通常稱為主控端。它可以是我們平時用的電腦、手機 或機房裡的某一台機器
* Managed node 則是被 Ansible 操縱的機器,常稱為被控端。

Ansible 使用類似 INI 檔案的寫法來記錄被管理的機器。此檔案通常放置於:

/etc/ansible/hosts

Ansible hosts file

[arch]
nextcloud
prometheus
desktop1
desktop2
vm-host15

[fedora]
netflix

[centos]
conan
confluence
7-repo
vm-server1
gitlab

[ubuntu]
trusty-mirror
nwn
kids-tv
media-centre
nas

[satellite]
satellite

[ocp]
lb00
ocp_dns
master01
app01
infra01

執行命令

ansible -a [some command]

// 對所有機器發送ping命令
$>ansible all -m ping

// 升級所有centos server
$>ansible centos -a 'yum update -y'