如何让Salt Master应用基本的SLS文件来对抗Salt Minion?

时间:2016-02-27 01:50:59

标签: centos salt-stack

我正在编程,想要用Salt下推代码。我最近在两台CentOS 7.x服务器上安装了Salt minion和Salt master。它们都是Salt版本2015.8.7。我salt '*' test.ping工作了。对我而言,这证明/etc/salt/minion.yml/etc/salt/master.yml已在各自的服务器上正确设置。它证明了服务正在运行。

以下是top.sls的内容:

base:
  '*':
    - core

以下是core.sls的内容:

{{ salt['runtests_helpers.get_sys_temp_dir_for_path']('testfile')  }};
    file:
       - managed
       - source: salt://testfile

当我跑步时

# salt 'fqdnOfSaltMinionServer' state.apply

我收到类似这样的错误" ..没有找到Top文件或外部节点数据匹配...错误:Minions以非零退出代码返回"

如何从我想成为Salt Minion的服务器上卸载Salt master?如何获得基本的.sls文件? Ping工作。我不知道我的top.slscore.sls文件有什么问题。我有一个名为testfile的小型简单文本文件。我想将它从Salt主服务器传输到Salt minion。我不知道我的设置有什么问题。

2 个答案:

答案 0 :(得分:0)

你是否在centos上使用yum / rpm提供的salt master?我遇到了类似的问题,不得不在salt主服务器上创建一个/ srv / salt目录来保存我的文件(在你的例子中是core.sls和testfile),然后才能到达任何地方。

答案 1 :(得分:0)

至少使用salt 2016.11.1(Carbon),这是顶级文件必须驻留的默认设置(在/etc/salt/master中):

#####      File Server settings      #####
##########################################
# Salt runs a lightweight file server written in zeromq to deliver files to
# minions. This file server is built into the master daemon and does not
# require a dedicated port.

# The file server works on environments passed to the master, each  environment
# can have multiple root directories, the subdirectories in the multiple file
# roots cannot match, otherwise the downloaded files will not be able to be
# reliably ensured. A base environment is required to house the top file.
# Example:
# file_roots:
#   base:
#     - /srv/salt/
#   dev:
#     - /srv/salt/dev/services
#     - /srv/salt/dev/states
#   prod:
#     - /srv/salt/prod/services
#     - /srv/salt/prod/states
#
#file_roots:
#  base:
#    - /srv/salt
#

作为previous John answer,将顶级文件放在/ srv / salt中是指如果你没有更改/ etc / salt / master中的默认值,该怎么办。