根据主机名自动生成支柱

根据主机名自动生成支柱

我遇到了一个问题,即在一个文件中管理多个域top.sls变得很困难。我该如何编写top.sls才能让它只采用与我的 minion 名称/主机名匹配的那些支柱。

例如:

  • deplo1.domain1.app小黄人
  • 它加载domain1_apppillar/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可以省略该文件。

如果有必要,您可以使用任何其他谷物做同样的事情。

相关内容