2016-07-25 25 views
0

如何根據IP地址範圍在安全的清單組中創建變量組?我在不同的位置有兩組服務器。我想每次創建劇本時都要創建這些組,以便劇本在更新的服務器列表上運行。我已經根據我的主機清單中的分發,產品,開發,測試,qa,dr進行了分組。Ansible組中基於ip範圍的動態組

由於提前

回答

0

您可以掃描一開始和他們組的所有主機你怎麼想,例如通過網絡:

- hosts: all 
    tasks: 
    - group_by: key=network_{{ ansible_default_ipv4.network }} 

這將創建一個名稱network_<network>你有許多不同的網絡,許多團體。但請記住,它需要從所有主機收集事實,因此根據主機數量和連接速度,可能需要大量時間。事實緩存會加快速度,但無論如何...

如果您手動管理庫存文件,請考慮手動指定區域組。

+0

只是後續問題,我明白如何使用os-distribution來使用group by。在這一點上,我們可以知道這些團體一旦形成團體會被稱爲什麼。如果我使用上面的組分類。我怎麼知道創建了哪些組。我也想註冊兩個IP範圍,我們有一個團體名稱,如「SB」和「AD」。 –

+0

您可以在'when:ansible_default_ipv4.network =='192.168.0.0''或任何其他條件下使用'group_by:key = SB' –

+0

有沒有辦法可以收集屬於這些類別的所有服務器的主機名。所以我可以在我的清單中定義它們,而不是每次創建組。 –