为什么我的 Salt minion 没有显示任何支柱属性?

Why isn't my Salt minion showing any pillar attributes?

我已经完成了 salt and pillar 演练,总的来说,我的设置一切正常。事实上,据我所知,没有任何东西不能正常工作......直到现在。

这是我第一次尝试使用支柱系统。我有我试图保护的访问密钥,所以我希望 pillar 允许我密切关注哪些 minions 获得了它们的副本。

这是我的设置。

目录结构:

[root@master config-mgmt]# tree /srv/pillar
/srv/pillar
├── awscreds.sls
├── data.sls
├── dev
└── top.sls

/srv/pillar/top.sls 文件:

[root@master config-mgmt]# cat /srv/pillar/top.sls
dev:
  'roles:*aws*':
    - match: grain
    - awscreds
  '*':
    - data

最终,我希望能够在我的 "roles" grain 上进行匹配,但是对于这个测试,为了简单起见,我只关心 glob 匹配 ('*')。

对于所有 minions,它应该 运行 data 状态,这里是:

[root@master config-mgmt]# cat /srv/pillar/data.sls
info: some data for poc

从我的盐大师那里,我 运行 refresh_pillar:

[root@master config-mgmt]# salt '*salttest*' saltutil.refresh_pillar
slave-salttesting-01.eng.example.com:
True

看起来还可以。但是,minion和master上都没有以任何形式存在的支柱属性。

关于高手:

[root@master config-mgmt]# salt '*salttest*' pillar.ls
slave-salttesting-01.eng.example.com:

在小兵上:

[root@slave-salttesting-01 ~]# salt-call pillar.ls
local:

我运行正在使用最新版本的 salt:

[root@master config-mgmt]# salt --version
salt 2018.3.3 (Oxygen)

知道为什么我的随从没有获得任何属性吗?

我找到了解决方案。在我的同事建议我检查之前,我并不熟悉 /etc/salt/master 文件。 salt_pillar 部分有一个 dev 的拼写错误(定义为 /sr/salt/dev 而不是 /srv/salt/dev 并且 base 被定义为指向默认位置以外的位置。我确保 base 设置为 /srv/salt 并且 dev 设置为 /srv/salt/dev。然后我不得不回到 /srv/salt 并确保 top.sls/srv/salt 位置。我也将 data.slsawscreds.sls 移动到 /srv/salt/dev 因为我希望它们成为 dev.[=27= 的一部分]

在那之后,一切都按预期进行。它表明,不要认为任何事情都是理所当然的。我以为我们的支柱在发挥作用,但事实证明,它们并没有发挥作用。