SaltStack:使用 DNS 记录识别环境

SaltStack : Identify environment with DNS record

我有多个隔离环境要使用 SaltStack 进行设置。我为每个环境创建了一些基本状态和自定义状态。目前,我识别环境的唯一方法是在 DNS 服务器上请求 TXT 记录。 有什么方法可以 select SaltStack 中的正确环境。 我怎样才能把这些信息放在柱子或谷物中?

Salt 的 dig module 可能会对您有所帮助。您可以使用它从 DNS 记录中查询信息。它需要安装命令行挖掘工具。

使用命令行:

salt-call dig.TXT google.com

产生这样的输出:

local:
    - "v=spf1 include:_spf.google.com ~all"

使用盐状态将其放入谷物中:

# setupgrain.sls
mygrainname:
  grains.present:
    - value: {{ salt['dig.TXT']('google.com') }}

一旦你掌握了谷物中的信息,你就可以 select salt nodes on the grain information using matchers