我遇到了一个问题,即在一个文件中管理多个域top.sls
变得很困难。我该如何编写top.sls
才能让它只采用与我的 minion 名称/主机名匹配的那些支柱。
例如:
- 有
deplo1.domain1.app
小黄人 - 它加载
domain1_app
自pillar/domain1_app/init.sls
当前的pillar/top.sls
base:
'*':
- global
'system.*':
- system
'deploy*.*':
- deploy
'*.domain1.app':
- domain1_app
deploy0.domain1.app:
- domain1_app.deploy0
答案1
从https://www.reddit.com/r/saltstack/comments/5b4l9v/storing_pillars_specific_to_a_host/由用户“dekonnection”发布:
在你的支柱中放置类似这样的东西top.sls
:
base:
'*':
[...stuff that can be shared for multiple hosts defined here...]
'{{ grains.host }}':
- ignore_missing: True
- hosts.{{ grains.host }}
现在,您可以<pillar root>/hosts/<hostname>.sls
为每个需要特定主机的设置编写一个特定文件,如果主机不需要任何特定设置,则ignore_missing: True
可以省略该文件。
如果有必要,您可以使用任何其他谷物做同样的事情。