我们如何构建盐状态树,以便能够在主机上运行的大量代码中运行一个virtualenv的highstate
?盐:在一台主机上管理100多个virtualenvs
我们运行virtualenvs进行开发和生产,使用结构。我们想从布料切换到盐。一切都很好,除了highstate
需要很长的时间。我们在一台主机上有100多个virtualenvs,并且正在调试highstate
会更新100多个virtualenvs。
我们如何构建盐状态树,以便能够在主机上运行的大量代码中运行一个virtualenv的highstate
?盐:在一台主机上管理100多个virtualenvs
我们运行virtualenvs进行开发和生产,使用结构。我们想从布料切换到盐。一切都很好,除了highstate
需要很长的时间。我们在一台主机上有100多个virtualenvs,并且正在调试highstate
会更新100多个virtualenvs。
salt '*' state.highstate
始终适用所有国家的奴才。这取决于你的状态为什么需要一段时间直到高收益。
可以通过为每个venv使用单独的状态来组织部署。个别国家可以应用这样的:
salt '*' state.sls venv1
简单盐树可能是这样的。
.
+-- 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
你能告诉它需要多长时间吗? – dahrens
@dahrens抱歉,我目前没有号码。但速度只是一个问题。另一个是:可寻址性。我希望能够更新一个特定的virtualenv而不触及其他的virtualenvs。 – guettli