salt-stack - Saltstack 从反应堆中排除特定的奴才
问题描述
我应该从运行中排除一些 sls
我使用 reactor 在 minions 启动时应用 highstate,如下所示:
/etc/salt/master.d/reactor/start.sls:
reactor: # Master config section "reactor"
- 'salt/minion/*/start': # Match tag "salt/minion/*/start"
- /srv/salt/reactor/start.sls # Things to do when a minion starts
/srv/salt/reactor/start.sls:
highstate_run:
local.state.apply:
- tgt: {{ data['id'] }}
有用。但是如何排除某些主机,例如按名称?
我尝试在子 sls 文件中使用化合物。但不幸的是,在 sls 文件中排除是行不通的。
解决方案
我会为此使用 [jinja][1]。举个简单的例子,如果你想排除以'region1'开头的minion名称,你可以这样做
{% if not data['id'].startswith('region1') %}
highstate_run:
local.state.apply:
- tgt: {{ data['id'] }}
{% endif %}```
[1]: https://docs.saltstack.com/en/latest/topics/jinja/index.html
推荐阅读
- julia - 如何在 Julia 模块中正确定义和使用全局变量?
- flutter - Flutter Web 中的电子邮件,无需使用密码或任何敏感数据
- youtube-livestreaming-api - 支持通过 YouTube Live Streaming API 设置游戏标题
- shell - 如何使用 sed 替换整行(两个单词之间)?
- react-native - 如何在本机反应中隐藏特定屏幕的标签栏?
- go - 在linux中无法使用golang接收自定义数据包
- javascript - s3.getObject(...).createReadStream 不是函数
- python - 去除扫描图像中的表格线、印章符号、线条但对汉字没有影响
- regex - 正则表达式:如何丢弃最后一个不完整的句子?
- javascript - Angular js设置问题