如何让 minions 使用特定的 SaltStack 环境?
GitFS backend tutorial声明分支将映射到使用分支名称作为标识符的环境。我如何将这些环境暴露给我的部下?
例如,假设 I have a branch取名“皮皮”。我想将该分支部署到特定的 minions。
看来我可以通过minion的配置文件来设置环境。 salt master 有没有其他方法可以完成?
最佳答案
这里的关键是top.sls
文件是跨环境的。在我们开始之前,请务必注意虽然大多数分支将映射到同名环境,但 master
分支将映射到 base
是个异常(exception)> 环境。
无论如何,转到 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 将从 base
环境运行 basestate.sls
文件。只有目标 minion 会运行来自每个其他环境的状态。
还有更多信息in the topfile documentation .
在 minion 配置中定义环境选项只是将 minion 隔离到特定环境。从顶层文件定义环境更加灵活和强大。
关于git - 使用 SaltStack 设置环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19307410/