在 env 'base' 中找不到 'httpd' 的匹配 sls

No matching sls found for 'httpd' in env 'base'

我正在尝试安装和设置一些基本的 saltstack 状态。

我在尝试应用状态时遇到以下错误: No matching sls found for 'httpd' in env 'base'

我的设置如下:

Centos 7.7.1908

盐 3000

我的目录结构是: /etc/salt/srv/salt/httpd.sls

我的文件包含:

install_httpd:
  pkg.installed:
    - httpd

我运行的命令是:

salt minion state.sls httpd

我也试过在下面创建一个 top.sls 文件:

/etc/salt/srv/pillar/top.sls

并且此文件包含:

base:
  '*':
    - httpd

但是我得到了同样的错误。但是,据我所知,top.sls 文件应该不是必需的。

有人对此有什么建议吗?

干杯

所以,我找到了自己问题的答案。

我假设 /srv/salt/ 应该存在于 /etc/salt/ 中,这是不正确的。 /srv/salt/ 应该是它自己的目录。因此,如果我 运行 pwd 而在 /srv/salt/ 内,它看起来像这样: /srv/salt

如果您想更改此设置以便 /srv/salt 可以坐在 /etc/salt/ 内,您需要将 /etc/salt/master 第 667 行的 file_roots 调整为:

file_roots:
  base:
    - /etc/salt/srv/salt