SaltStack - 编排



一般来说,**编排**是系统自动协调和安排的过程。编排运行器用于在 SaltStack 中执行编排。

编排运行器

编排运行器提供了**OverState**(旧系统)的所有功能。它最初被称为**state.sls**运行器。此编排运行器用于将 Salt 状态系统泛化到 Salt master 上下文。

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

简单执行

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

假设您有一个位于** /srv/salt/orch/samples.sls**的**sample.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
广告

© . All rights reserved.