天天看點

ansible配置檔案說明及ad hoc指令

配置檔案說明及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:通過網際網路下載下傳檔案