Ansible - 沒有子目錄的平面設定檔

Ansible - 沒有子目錄的平面設定檔

是否可以使用包含部分的設定檔而不是全新的目錄?

即: /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

相關內容