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.