我们如何构建 salt state 树,以便能够从主机上运行的大量 virtualenv 中为一个运行 highstate
?
我们使用 fabric 为开发和生产运行 virtualenvs。我们想从织物切换到 salt 。一切正常,除了 highstate
花费的时间太长。我们在一台主机上有 100 多个 virtualenvs,调用 highstate
会更新 100 多个 virtualenvs。
最佳答案
salt '*' state.highstate
始终将所有状态应用于您的随从。这取决于您的状态,为什么需要很长时间才能返回 highstate。
可以通过为每个 venv 使用单独的状态来组织部署。可以像这样应用各个状态:
salt '*' state.sls venv1
一棵简单的 salt 树可能看起来像这样。
.
+-- salt
| +-- _prereq.sls
| +-- venv1.sls
| +-- venv2.sls
| +-- top.sls
如果您需要以相同的方式为每个 venv 完成一些先决条件,您可能会使用类似的东西:
_prereq.sls
install_something:
pkg.installed:
pkgs: ['foo', 'bar']
venv1.sls
include:
- _prereq
myvenv_state:
virtualenv.managed:
- system_site_packages: False
- requirements: salt://requirements.txt
- require:
- sls: _prereq
我更喜欢能够在不考虑它的情况下高调我的仆从,所以我尽量避免可寻址状态。但它可能符合您的需求。
您可能还想看看 salt.states.virtualenv
关于python - salt : manage 100+ virtualenvs on one host,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35849434/