11

如何让 minions 使用特定的 SaltStack 环境?

GitFS后端教程指出,分支将使用分支名称作为标识符映射到环境。我如何将这些环境暴露给我的奴才?

例如,假设我有一个名为“pippy”的分支。我想将该分支部署到特定的奴才。

看来我可以通过minion的配置文件设置环境。盐师还有其他办法吗?

4

1 回答 1

18

这里的关键是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 定义环境更加灵活和强大。

于 2013-10-11T16:02:41.020 回答