SaltStack 编排
一般来说,
编排是系统的自动协调和安排。 Orchestrate runner 用于在 SaltStack 中执行编排。
Orchestrate Runner
Orchestrate Runner 提供了
OverState(以前的系统)的所有功能。它最初被称为
state.sls runner。这个编排运行器用于将 Salt 状态系统推广到 Salt Master 上下文。
state.sls 和
state.highstate 函数在每个 Salt Minion 上执行,但
state.orchestrate runner 在大师。
state.orchestrate 运行器允许您将整个基础设施作为状态完全管理。让我们了解如何通过一个简单的执行过程。
简单执行
Orchestrate Runner 命令与
state.sls 函数相同,但您可以使用"salt-run"而不是 salt 来执行它。
假设你有一个
样本e.sls 文件位于
/srv/salt/orch/samples.sls。在该文件中添加以下代码。
sample.sls
install_nginx:
salt.state:
-tgt: 'web*'
-sls:
-nginx
以下命令用于在 master 上运行,它将应用该文件中定义的状态。
salt-run state.orchestrate orch.sample
它将产生以下
输出-
saltmaster.local_master:
----------
ID: install_nginx
Function: salt.state
Result: true
Comment: States ran successfully.
Started: 11:54:56.308078
Duration: 63.401 ms
Changes:
Summary for saltmaster.local_master
------------
Succeeded: 1
Failed: 0
------------
Total states run: 1
Total run time: 63.401 ms
root@saltmaster:/home/vagrant#
这里,根据当前版本,运行器函数被重命名为
state.orchestrate。这将有助于避免与 state.sls 执行函数混淆,但必须使用以前版本的
state.sls。
执行函数
要执行一个函数,你应该使用
salt.function。考虑位于
/srv/salt/orch/data.sls 的文件
data.sls。现在,在该文件中添加以下更改。
data.sls
cmd.run:
salt.function:
-tgt: '*'
-arg:
-rm-rf /tmp/data
以下命令用于执行Salt函数。
root@saltmaster:/home/vagrant# salt-run state.orchestrate orch.data
它将产生以下
输出-
saltmaster.local_master:
----------
ID: cmd.run
Function: salt.function
Result: true
Comment: Function ran successfully. Function cmd.run ran on minion1, minion2.
Started: 12:14:54.791635
Duration: 234.615 ms
Changes:
minion1:
minion2:
Summary for saltmaster.local_master
------------
Succeeded: 1 (changed = 1)
Failed: 0
------------
Total states run: 1
Total run time: 234.615 ms