Ansible可以用來設定多個遠端server,從master server利用ssh同時連線到多台遠端伺服器。
系統環境:macOS
# 透過pip安裝
$ sudo easy_install pip
# 安裝ansible
$ sudo pip install ansible
ansible需要三個基本檔案:
.
├── ansible.cfg
├── hosts
├── ansible-playbook.yml
用pip安裝ansible須自行建立ansible.cfg檔案,可以參考此檔案設定。
[defaults]
inventory = hosts
儲存要進行連線的遠端伺服器,可將伺服器進行分組。
# 將server分為Group1和Group2
[Group1]
${nameA} ansible_ssh_host=${host_address1}
${nameB} ansible_ssh_host=${host_address2}
[Group1:vars]
ansible_user=${user_name}
# ${user_name}:連線成功後使用的使用者名稱
[Group2]
${nameC} ansible_ssh_host=${host_address3}
針對遠端server要做的動作通通用yml的格式,這次先跳過。
$ ansible ${server} -m ping
# ${server}:可用all、host檔案中的群組名(Group1)、指定另外的host檔案(-i File GroupName)
# 若連線失敗可以加上 -vvv 來查看所有的log