配置檔案說明及ad hoc指令
配置說明
為了友善管理ansible,不建議直接使用系統預設的配置。一般都是以項目為“根”,建立ansible相關資訊。其包括ansible和inventory兩個檔案即可運作,在“根”下運作ansible時配置檔案優先級高于環境變量。
$ vim /ansible-test/ansible.cfg
[defaults]
inventory = hosts
|//指定該項目的清單檔案名(清單名不強制要求,但必須和配置檔案相同,建議使用hosts或inventory)
remove_user = ansible //遠端主機執行使用者
ask_pass = true/false yes/no //是否詢問密碼
[privilege_escalation]
Become = true/false //是否提權
Become _method = sudo //提權方式
Become_user = root //提權到那個使用者
Become_ask_pass = false //是否詢問密碼
$ vim /ansible-test/hosts
[webs]
192.168.0.11 web1.test.picc.com
有了以上兩個檔案就可以滿足ansible的基本要求了,當然這是在其他都預設的情況下,如forks就預設為同時最多操作5台。
AD HOC
AD HOC是一種快速執行單個Ansible任務的方法,AD HOC是簡單線上操作,無需編寫劇本即可運作,也叫臨時指令。
Ad HocCommands
ansible host-pattern -m module [-a ‘module arguments’] [-i inventory]
解釋一下吧:
[ ] 中括号中的内容可以忽略。
ansible 主機/主機組 -m 子產品 -a 子產品參數 -i 指定inventory
eg:ansible webs -m ping //對webs組運作ping子產品
eg: ansible webs -m user -a ‘name=tom uid=2222 stat=presend’ -i /etc/ansible/hosts
//使用/etc/ansible/hosts清單 對webs組 運作user子產品建立tom使用者并制定uid
還有以下常用的子產品
copy:将本地檔案複制到遠端主機
file:設定檔案權限
lineinfile:確定檔案中有沒有特定的行
synchronize:srync同步内容
package:檢測包管理子產品
yum:安裝子產品
firewalld:防火牆子產品,可以管理端口和服務
service:管理服務
uri:通路web服務
get_url:通過網際網路下載下傳檔案