我有一本我只想在RHEL 6服務器上執行的手冊。我知道我可以把Ansible只爲與某些變量相匹配的主機運行Playbook
when: ansible_distribution == "RedHat" and ansible_distribution_major_version == 6
到整個劇本中的每一個任務,但這對我來說似乎相當低效。
是不是有辦法將整個手冊限制在這些機器上,這樣我就不必把這條線放到每一個任務中了?
我想它甚至會執行得更快,因爲它不需要檢查每個任務中的服務器是否是RedHat 6。另外,我認爲大多數性能高效的方法是將RHEL 6服務器列表放在一邊,並僅對它們執行這個操作手冊,因爲Ansible並沒有真正緩存這些信息,所以它總是需要連接到所有服務器只是爲了弄清楚他們是否是RHEL和版本6?要解決這個問題
下面有一個很好的答案,但最好的方法是將庫存中的操作系統作爲組跟蹤。 – smiller171