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

时间:2018-12-06 20:48:01

标签: salt-stack configuration-management

我已经完成了saltpillar的演练,总的来说,一切都可以按照我的设置进行。实际上,直到现在我还没有发现任何无法正常工作的信息。

这是我首次尝试使用支柱系统。我拥有要保护的访问密钥,因此我希望使用支柱,以便让我可以在选项卡上找到小仆从中获得的副本。

这是我的设置。

目录结构:

[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

最终,我希望能够在“角色”谷物上进行匹配,但是为了进行此测试,为了使事情简单起见,我只关注全局匹配('*')。

对于所有小兵,它都应该运行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

似乎还可以。但是,无论是奴隶还是主人,支柱属性都不以任何形式出现。

在母版上:

[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)

有什么主意为什么我的仆从没有选择任何属性吗?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。直到同事建议我检查它之前,我对/etc/salt/master文件并不熟悉。 salt_pillar部分有一个dev的错字(定义为/sr/salt/dev,而不是/srv/salt/dev,并且base被定义为指向默认位置以外的位置。确保将base设置为/srv/salt,将dev设置为/srv/salt/dev,然后我必须回到/srv/salt并确保{{1 }}位于top.sls的位置,我也将/srv/saltdata.sls移到了awscreds.sls,因为我希望它们成为/srv/salt/dev的一部分。

此后,一切都按预期进行。它表明,不要将任何事情视为理所当然。我以为我们的支柱在起作用,但事实证明它们没有起作用。