SALTStack · 2 min read · Jan 04, 2026

Instalar e Usar SALTStack Em Um Ambiente Misturado - Página 4

ÁRVORE DE ESTADO SALT

Caso você tenha seguido este guia, você tem uma leve ideia de como é fácil gerenciar simultaneamente tarefas simples em vários servidores.

Vamos dar um passo adiante. Trata-se de gerenciar tarefas complexas em um ambiente complexo com um único comando.

Mais detalhes sobre isso em -> http://docs.saltstack.com/ref/states/highstate.html

Para ter esse recurso, você precisa configurar seu salt um pouco, na pasta /etc/salt

No seu SALT MASTER, você deve ter um arquivo chamado: master

Para se livrar das linhas comentadas, ele se parece com isso:

root@salt-master:/etc/salt# grep -E -v '^#|^ *$' /etc/salt/master

Edite-o até que o resultado seja:

state_top: top.sls
file_roots:
  base:
    - /srv/salt
log_file: /var/log/salt/master
key_logfile: /var/log/salt/key
log_level: debug

Como próximo passo, criamos três arquivos de estado:

/srv/salt/top.sls       -> É necessário
/srv/salt/motd.sls      -> É opcional
/srv/salt/line6svn.sls  -> É opcional

O arquivo top.sls é o ponto de entrada, definido em /etc/salt/master

Ele dá o nome dos SaltStateFiles sem o “.sls”

Os arquivos de estado contêm comandos e diretivas de configuração.

Você também pode usar filtros nos nomes dos servidores ou outros filtros de grãos em qualquer lugar da árvore de estado.

cat /srv/salt/top.sls
base:
  '*':
    - motd
    - line6svn

Ele verifica um repositório Subversion:

root@salt-master:/srv/salt# cat /srv/salt/line6svn.sls
https://svn.code.sf.net/p/line6linux/code/driver/trunk/:
  svn.latest:
    - target: /opt/Line6.SVN

Você pode gerenciar um arquivo de texto:

root@salt-master:/srv/salt# cat /srv/salt/motd.sls
motd_perms:
  file.managed:
    - name: /etc/motd
    - mode: 644
motd_quote:
  file.append:
    - name: /etc/motd
    - text: "De todos os cheiros, pão; de todos os sabores, sal."

Podemos ativar a árvore de estado pelo seguinte comando:

root@salt-master:/srv/salt# salt '*' state.highstate
salt-minion2.test.local:
----------
    State: - file
    Name:      /etc/motd
    Function:  managed
        Result:    True
        Comment:   O arquivo /etc/motd está no estado correto
        Changes:   
----------
    State: - file
    Name:      /etc/motd
    Function:  append
        Result:    True
        Comment:   Adicionadas 0 linhas
        Changes:   
----------
    State: - svn
    Name:      https://svn.code.sf.net/p/line6linux/code/driver/trunk/
    Function:  latest
        Result:    True
        Comment:   Na revisão 1072.
        Changes:   
Resumo
------------
Sucedido: 3
Falhou:    0
------------
Total:     3
salt-centos:
----------
    State: - file
    Name:      /etc/motd
    Function:  append
        Result:    True
        Comment:   Adicionadas 0 linhas
        Changes:   
----------
    State: - file
    Name:      /etc/motd
    Function:  managed
        Result:    True
        Comment:   O arquivo /etc/motd está no estado correto
        Changes:   
----------
    State: - svn
    Name:      https://svn.code.sf.net/p/line6linux/code/driver/trunk/
    Function:  latest
        Result:    True
        Comment:   Na revisão 1072.
        Changes:   
Resumo
------------
Sucedido: 3
Falhou:    0
------------
Total:     3

Você pode ter uma requisição StateTree para o servidor SaltMaster a partir de um Minion, assim:

[root@salt-centos ~]# salt-call state.highstate -l debug

Desligando todos os minions:

root@salt-master:~# salt '*' cmd.run "poweroff"
salt-centos:   
salt-minion2.test.local:    
salt-minion1.test.local:

Boa sorte!

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.