Salt stack 使用saltstack公式

Salt stack 使用saltstack公式,salt-stack,Salt Stack,我是saltstack的新手,我想通过使用saltstack公式安装postgres、apache或其他任何东西 我用 git克隆https://github.com/saltstack-formulas/apache-formula.git 及 git克隆https://github.com/saltstack-formulas/postgres.git 转到my/srv/salt目录 在那之后,我添加了行 file_roots: base: - /srv/salt -

我是saltstack的新手,我想通过使用saltstack公式安装postgres、apache或其他任何东西

我用

git克隆https://github.com/saltstack-formulas/apache-formula.git

git克隆https://github.com/saltstack-formulas/postgres.git

转到my/srv/salt目录

在那之后,我添加了行

file_roots:
base:
      - /srv/salt
      - /srv/formulas/apache-formula
      - /srv/formulas/postgres
在/etc/salt/master文件中

然后我在/srv/salt文件夹中创建了一个文件top.sls,其内容如下:

include:
   - apache
要运行此命令,我使用

salt'*'状态。highstate

我得到的只是错误信息:

xxx.yyyyyyy.com:
----------
      ID: states
Function: no.None
  Result: False
 Comment: No Top file or external nodes data matches found
 Changes:   

Summary
------------
Succeeded: 0
Failed:    1
------------
Total:     1
我做错了什么?
我在上读了手册,但这本手册一点帮助都没有

您必须在top.sls文件中告诉salt该州适用于谁:

include:
  - apache

base:
   '*':
       - apache
更新:正如Utah_Dave指出的,我忽略了将公式添加到文件根中,您不需要include指令。只要这样做:

base:
   '*':
       - apache

这对于您的特定情况可能没有用处,但我发现我遇到的问题是我将我的
gitfs\u root
定义为一个子文件夹。这使我们能够构建一个内部回购协议,为州和支柱拥有不同的子文件夹

当我设置第一个公式时,
gitfs\u root
表示所有公式都不起作用,因为它在子文件夹中查找每个公式

相反,我将配置移到了特定的repo

之前:

gitfs_root: salt

gitfs_remotes:
    - https://github.com/this-is/saltstack-formula
    - https://github.com/internal/salt-repo
之后:

# gitfs_root:

gitfs_remotes:
    - https://github.com/this-is/saltstack-formula
    - https://github.com/internal/salt-repo
        - root: salt
您不需要或不想在top.sls中包含“include”部分