SaltStack - 编排

通常,编排是系统的自动协调和安排. Orchestrate runner用于在SaltStack中执行编排.

Orchestrate Runner

他的Orchestrate Runner提供 OverState的所有功能(以前的系统).它最初被称为 state.sls 跑步者.此orchestrate运行器用于将Salt状态系统概括为Salt master上下文.

state.sls state.highstate 函数在每个Salt minion上执行,但 state.orchestrate 运行在主服务器上执行. state.orchestrate 运行程序允许您完全管理整个基础架构.让我们了解如何完成一个简单的执行过程.

简单执行

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

假设您找到了 sample.sls 文件在/srv/salt/orch/samples.sls .在该文件中添加以下代码.

sample.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#

这里,根据当前版本,转轮功能被重命名为 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