我在/ etc/salt/master中的环境结构如下所示
file_roots:
base:
- /srv/salt
dev:
- /srv/salt/dev
stg:
- /srv/salt/stg
prod:
- /srv/salt/prod
Run Code Online (Sandbox Code Playgroud)
我的top.sls文件在/ srv/salt中
dev:
'ip-10-1-1-28':
- devtest
stg:
'ip-10-1-1-252':
- stgtest
prod:
'ip-10-1-1-200':
- prodtest
Run Code Online (Sandbox Code Playgroud)
现在我想为特定环境运行state.highstate,比如'stg'.我在找这样的东西,
salt '*' state.highstate env=stg
Run Code Online (Sandbox Code Playgroud)
我该如何实现这一目标?我的要求是每次运行命令时,我都不希望所有环境中的minions都运行SLS文件.有解决方案吗
我有一个盐SLS文件test.sls,如下所示:
test:
cmd.run:
- name : |
java -jar test.jar
Run Code Online (Sandbox Code Playgroud)
在这里,test.jar运行一个命令以启动eclipse并运行指定的配置(永久运行)。由于这会永远运行(除非我停止运行),所以当我运行以下命令时,
sudo salt 'ubuntu' state.sls test
Run Code Online (Sandbox Code Playgroud)
奴才不会回到主人那里。在这种情况下会发生什么?超时后作业会自动停止吗?一般来说,如何运行永不停止使用盐的作业?