盐:一个主人上有几个爪牙?

时间:2014-08-22 14:30:52

标签: python linux virtualenv docker salt-stack

到目前为止,我们在一个Linux主机上的几个python虚拟环境中运行我们的应用程序。

我们考虑使用salt,但我们希望能够更新一个virtualenv,而无需修改其他virtualenvs。

AFAIK你可以说“请进入高级”只对完全的仆从。

我们看到了这些解决方案:

  • 在一个Linux操作系统上运行几个小兵:目前不支持AFAIK
  • 使用一个minion,但不要使用highstate。我们需要用一个国家来解决每个虚拟世界(我们不能对整个仆从说“高阶”)
  • 使用某种虚拟化(例如docker)为每个虚拟对象提供一个小兵。

我是盐的新手,请问我是否遗漏了一些我们没有得到我想要的东西。

更新

我们每个Linux操作系统都有很多virtualenv。而且他们都非常平等。我们想管理它们而不为每个创建一个sls文件。

1 个答案:

答案 0 :(得分:3)

我认为您最好的选择是指定一个针对您想要管理或修改的virtualenv的特定州。

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