Salt stack 如何将盐状态仅应用于一个环境
我正在尝试在/srv/salt/non-prod将salt状态应用于我的非prod环境 我得到了这个结果:Salt stack 如何将盐状态仅应用于一个环境,salt-stack,Salt Stack,我正在尝试在/srv/salt/non-prod将salt状态应用于我的非prod环境 我得到了这个结果: [root@salt non-prod]# salt '*' state.apply salt.localdomain: ---------- ID: states Function: no.None Result: False Comment: No Top file or external nodes data matches foun
[root@salt non-prod]# salt '*' state.apply
salt.localdomain:
----------
ID: states
Function: no.None
Result: False
Comment: No Top file or external nodes data matches found.
Changes:
Summary for salt.localdomain
------------
Succeeded: 0
Failed: 1
我在主配置中定义了此位置
non-prod:
- /srv/non-prod
- /srv/salt/non-prod/services
- /srv/salt/non-prod/states
我在这里有一个顶级文件:
[root@salt ~]# cat /srv/salt/non-prod/top.sls
base:
'*':
- apache
- python
- ssh
- users
这些是非prod目录的内容
[root@salt ~]# ls -lh /srv/salt/non-prod/
total 16K
drwxr-xr-x. 2 root root 4.0K Oct 3 21:02 apache
drwxr-xr-x. 2 root root 45 Oct 3 20:57 python
drwxr-xr-x. 2 salt salt 6 Oct 3 14:10 services
drwxr-xr-x. 2 root root 54 Oct 3 18:23 ssh
drwxr-xr-x. 2 salt salt 6 Oct 3 14:10 states
-rw-r--r--. 1 root root 80 Oct 3 15:29 state.template
-rw-r--r--. 1 root root 174 Oct 3 15:30 test.sls
-rw-r--r--. 1 root root 61 Oct 3 21:14 top.sls
drwxr-xr-x. 2 root root 22 Oct 3 21:03 users
drwxr-xr-x. 2 salt salt 99 Oct 3 18:28 webserver
它包含几个salt模块
如何将salt状态仅应用于非prod环境?如果您使用一些yaml验证工具检查语法,那么我们可以进入下一步 仔细阅读文档,您会注意到设置了不同的环境,首先在/etc/salt/master上明确定义备用环境
name
,并在top.sls下指定它
i、 例如,您可以指定非prod
环境
file_roots:
#non-prod environment
non-prod:
- /srv/non-prod
- /srv/salt/non-prod/services
- /srv/salt/non-prod/states
因此,top.sls应该使用环境名称非prod
,而不是base
non-prod:
'*':
- apache
- python
- ssh
- users
由于默认情况下saltstack始终使用“基本”环境,因此应该显式应用该状态
salt '*' state.highstate saltenv=non-prod
这很有效。但我解决问题的方法是在/etc/salt/minion配置中设置environment:non-prod变量。重新启动仆从服务使其正常工作。我还测试了你的方法,我也用这种方法工作。谢谢