为什么我的 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.sls
和 awscreds.sls
移动到 /srv/salt/dev
因为我希望它们成为 dev
.[=27= 的一部分]
在那之后,一切都按预期进行。它表明,不要认为任何事情都是理所当然的。我以为我们的支柱在发挥作用,但事实证明,它们并没有发挥作用。
我已经完成了 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.sls
和 awscreds.sls
移动到 /srv/salt/dev
因为我希望它们成为 dev
.[=27= 的一部分]
在那之后,一切都按预期进行。它表明,不要认为任何事情都是理所当然的。我以为我们的支柱在发挥作用,但事实证明,它们并没有发挥作用。