如何让 minions 使用特定的 SaltStack 环境?
GitFS后端教程指出,分支将使用分支名称作为标识符映射到环境。我如何将这些环境暴露给我的奴才?
例如,假设我有一个名为“pippy”的分支。我想将该分支部署到特定的奴才。
看来我可以通过minion的配置文件设置环境。盐师还有其他办法吗?
这里的关键是top.sls
文件是跨环境的。在我们开始之前,重要的是要注意,虽然大多数分支将映射到同名的环境,但分支将映射到环境是个master
例外base
。
无论如何,继续top.sls
。在top.sls
您定义您的环境时,哪些 minions 是该环境的成员,哪些状态文件将从该环境中运行以用于state.highstate
.
base:
'*':
- basestate
dev:
'webserver*dev*':
- webserver
'db*dev*':
- db
qa:
'webserver*qa*':
- webserver
'db*qa*':
- db
pippy:
'webserver*pippy*':
- webserver
'db*pippy*':
- db
因此,所有的 minions 都会从环境中运行该basestate.sls
文件。base
只有目标仆从会运行来自其他每个环境的状态。
topfile 文档中有更多信息。
在 minion 配置中定义 environment 选项只是将 minion 隔离到特定环境。从 topfile 定义环境更加灵活和强大。