SaltStack:没有找到顶级文件或 master_tops 数据匹配

Dhi*_* S. 6 salt-stack devops

我是 SaltStack 的新手,并遵循了一些教程并尝试执行 state.apply 但出现以下错误:

# salt "host2" state.apply 
host2:
----------
          ID: states
    Function: no.None
      Result: False
     Comment: No Top file or external nodes data matches found
     Started: 
    Duration: 
     Changes:   

Summary for host2
------------
Succeeded: 0
Failed:    1
------------
Total states run:     1
Run Code Online (Sandbox Code Playgroud)

我能够通过 test.ping 成功托管。这是目录结构:

/etc/salt/srv/salt/states
                     |-top.sls
                     |-installations
                           |-init.sls
Run Code Online (Sandbox Code Playgroud)

主配置中的文件根条目

file_roots:   
  base:
    - /srv/salt/states
Run Code Online (Sandbox Code Playgroud)

top.sls ->

base:
  '*':
    - installations
Run Code Online (Sandbox Code Playgroud)

init.sls->

install_apache:
  pkg.installed:
    - name: apache2
Run Code Online (Sandbox Code Playgroud)

Alb*_*ole 6

您需要更改您的状态的路径,或者将它们移动到中设置的路径file_roots

file_roots选项是您应该放置文件的位置,您应该有以下树:

# tree /srv/salt/
/srv/salt/
|-- installations
    `-- init.sls
`-- top.sls
Run Code Online (Sandbox Code Playgroud)

或者你可以改变你的file_roots,但我不会这样做,因为/srv/salt/似乎是一种“标准”。

如果您还没有看过这些教程,请查看:https://docs.saltstack.com/en/getstarted/fundamentals/