salt:一个主机上多个子进程?
到目前为止,我们在一台Linux主机上运行了几个Python虚拟环境。
我们在考虑使用Salt,但我们希望能够更新一个虚拟环境,而不影响其他的虚拟环境。
据我所知,你只能对整个从属机(minion)说“请进入高状态(highstate)”。
我们看到以下几种解决方案:
- 在一台Linux操作系统上运行多个从属机:据我了解,目前不支持这种方式。
- 使用一个从属机,但不使用高状态。我们需要用一个状态来管理每个虚拟环境(不能对整个从属机说“高状态”)。
- 使用某种虚拟化技术(比如Docker)来给每个虚拟环境分配一个从属机。
我对Salt还不太熟悉,如果我遗漏了什么,或者你不明白我想要什么,请问我。
更新
我们每个Linux操作系统上都有很多虚拟环境,而且它们都非常相似。我们希望能够管理它们,而不需要为每个环境都创建一个sls文件。
1 个回答
4
我觉得你最好的办法就是指定一个特定的状态,这样可以针对你想要管理或修改的虚拟环境。
salt 'minion-id' state.sls manage_virtualenv_1
salt 'minion-id' state.sls manage_virtualenv_flask
salt 'minion-id' state.sls manage_virtualenv_django
这三个 state.sls 调用只会运行每个 sls 文件中的状态,尽管它们都存在于同一个名为 'minion-id' 的主机上。
编辑:
你还可以使用用逗号分隔的 sls 文件列表:
salt 'minion-id' state.sls manage_virtualenv_1,manage_virtualenv_flask,otherslsfile