SaltStack - 编排


一般来说,编排是系统的自动协调和安排。Orchestrate runner 用于在 SaltStack 中执行编排。

编排跑步者

Orchestrate Runner 提供了OverState (之前的系统)的所有功能。它最初被称为state.sls运行程序。该编排运行器用于将 Salt 状态系统概括为 Salt master 上下文。

state.sls和state.highstate函数在每个 Salt minion 上执行,但state.orchestrate runner在 master 上执行。state.orchestrate运行程序允许您完全将整个基础设施作为状态进行管理。让我们了解如何完成一个简单的执行过程。

简单的执行

Orchestrate Runner 命令与state.sls函数相同,但您可以使用“salt-run”而不是 salt 来执行它。

假设您有一个位于/srv/salt/orch/samples.sls的 example.sls文件。在该文件中添加以下代码。

样本.sls

install_nginx:
   salt.state:
      - tgt: 'web*'
      - sls:
         - nginx

以下命令用于在主服务器上运行,它将应用该文件中定义的状态。

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#

这里,根据当前版本, runner 函数被重命名为state.orchestrate。这将有助于避免与state.sls执行函数混淆,但必须使用以前版本的state.sls 。

执行函数

要执行函数,您应该使用salt.function。考虑位于/srv/salt/orch/data.sls的文件data.sls。现在,在该文件中添加以下更改。

数据.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