是否可以使用包含部分的設定檔而不是全新的目錄?
即:
/etc/ansible/roles/main.yml
將包含這樣的內容:
[tasks]
-name: install ntp
yum: pkg=ntp state=installed
notify: restart-ntp
[handlers]
- name: restart-ntp
service: name=ntp state=reloaded
同樣,對於 group_vars 和 host_vars,我可以將所有變數放在一個檔案中,而不必為每個群組和主機建立一個單獨的檔案嗎?
答案1
你能將所有變數放在一個檔案中,但您將失去 Ansible 為您提供的所有層級結構和範圍,包括主機、群組、角色、遊戲等。當然,你可以嘗試複製用平面文件,但是......為什麼? Ansible 已經免費為您提供了這個。此外,很可能沒有人(包括您)能夠理解您的程式碼,但仍可以重複使用它。
所以,雖然答案是技術上 是的,我要支持 @techraf 並說不, 這不可能。
如果您發現編寫文件很乏味,請使用ansible-galaxy init
生成器來充實角色。 (看https://docs.ansible.com/ansible/latest/reference_appendices/galaxy.html#create-roles)