SaltStack - Orquestração

Em geral, orchestrationé uma coordenação e arranjo automatizado de sistemas. O orquestrar runner é usado para realizar a orquestração no SaltStack.

Orquestrar Corredor

O Orchestrate Runner oferece todas as funcionalidades do OverState(sistema anterior). É originalmente chamado destate.slscorredor. Este orquestrar runner é usado para generalizar o sistema de estado Salt para um contexto mestre Salt.

o state.sls e a state.highstate funções são executadas em cada salt minion, mas o state.orchestraterunner é executado no mestre. ostate.orchestraterunner permite que você gerencie toda a sua infraestrutura como estado totalmente. Vamos entender como passar por um processo de execução simples.

Execução Simples

O comando Orchestrate Runner é igual ao state.sls função, mas você pode executá-lo com o "salt-run" em vez de sal.

Suponha que você tenha um sample.sls arquivo localizado em /srv/salt/orch/samples.sls. Adicione o código a seguir nesse arquivo.

sample.sls

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

O seguinte comando é usado para rodar no master e irá aplicar os estados definidos naquele arquivo.

salt-run state.orchestrate orch.sample

Irá produzir o seguinte output -

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#

Aqui, de acordo com a versão atual, a função de execução foi renomeada para state.orchestrate. Isso será útil para evitar confusão com a função de execução state.sls, mas as versões anteriores dostate.sls deve ser usado.

Função de execução

Para executar uma função, você deve usar o salt.function. Considere um arquivodata.sls localizado em /srv/salt/orch/data.sls. Agora, adicione as seguintes alterações nesse arquivo.

data.sls

cmd.run:
   salt.function:
      - tgt: '*'
      - arg:
         - rm -rf /tmp/data

O seguinte comando é usado para executar a função Salt.

root@saltmaster:/home/vagrant# salt-run state.orchestrate orch.data

Irá produzir o seguinte output -

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