如何将盐状态应用于一个环境
how to apply salt states to just one environment
我正尝试在 /srv/salt/non-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 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
这些是非产品目录的内容
[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
它包含一些盐模块
如何将盐状态应用到非产品环境?
如果您使用一些 yaml 验证工具检查语法,那么我们可以进入下一步。
仔细阅读 saltstack top 文档,您会注意到设置不同的环境,您首先在 /etc/salt/master 上明确定义替代环境 name
,并在 top.sls[= 下指定它18=]
即,您 file_roots 指定 non-prod
环境
file_roots:
#non-prod environment
non-prod:
- /srv/non-prod
- /srv/salt/non-prod/services
- /srv/salt/non-prod/states
因此您的 top.sls 应该使用环境名称 non-prod
,而不是 base
non-prod:
'*':
- apache
- python
- ssh
- users
因为 saltstack 默认总是使用 "base" 环境,你应该明确地应用状态。
salt '*' state.highstate saltenv=non-prod
我正尝试在 /srv/salt/non-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 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
这些是非产品目录的内容
[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
它包含一些盐模块
如何将盐状态应用到非产品环境?
如果您使用一些 yaml 验证工具检查语法,那么我们可以进入下一步。
仔细阅读 saltstack top 文档,您会注意到设置不同的环境,您首先在 /etc/salt/master 上明确定义替代环境 name
,并在 top.sls[= 下指定它18=]
即,您 file_roots 指定 non-prod
环境
file_roots:
#non-prod environment
non-prod:
- /srv/non-prod
- /srv/salt/non-prod/services
- /srv/salt/non-prod/states
因此您的 top.sls 应该使用环境名称 non-prod
,而不是 base
non-prod:
'*':
- apache
- python
- ssh
- users
因为 saltstack 默认总是使用 "base" 环境,你应该明确地应用状态。
salt '*' state.highstate saltenv=non-prod