Saltstack 从反应器中排除来自 运行 的特定小兵

Saltstack exclude specific minions from run from reactor

我应该从 运行

中排除一些 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'] }}

有效。但是如何排除某些主机,例如按名称排除主机?

我尝试在 sub 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