SALTStack · 2 min read · Jan 04, 2026

Instalar y usar SALTStack en un entorno mixto - Página 4

ÁRBOL DE ESTADOS SALT

En caso de que hayas seguido este tutorial, tienes una ligera idea de lo fácil que es gestionar tareas simples en varios servidores simultáneamente.

Vamos un paso más allá. Se trata de gestionar tareas complejas en un entorno complejo con un solo comando.

Más detalles sobre esto en -> http://docs.saltstack.com/ref/states/highstate.html

Para tener esta función, debes configurar un poco tu salt, en la carpeta /etc/salt

En tu SALT MASTER, deberías tener un archivo llamado: master

Para deshacerte de las líneas comentadas, se ve así:

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

Edítalo hasta que el resultado sea:

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 siguiente paso, creamos tres archivos de estado:

/srv/salt/top.sls       -> Es necesario
/srv/salt/motd.sls      -> Es opcional
/srv/salt/line6svn.sls  -> Es opcional

El archivo top.sls es el punto de entrada, definido en /etc/salt/master

Da el nombre de los archivos de estado de Salt sin el “.sls”

Los archivos de estado contienen comandos y directivas de configuración.

También puedes usar filtros en los nombres de los servidores u otros filtros de granos en donde sea que esté el árbol de estados.

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

Verifica un repositorio de 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

Puedes gestionar un archivo 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 los olores, pan; de todos los sabores, sal."

Podemos activar el árbol de estados con el siguiente comando:

root@salt-master:/srv/salt# salt '*' state.highstate
salt-minion2.test.local:
----------
    Estado: - file
    Nombre:      /etc/motd
    Función:  managed
        Resultado:    True
        Comentario:   El archivo /etc/motd está en el estado correcto
        Cambios:   
----------
    Estado: - file
    Nombre:      /etc/motd
    Función:  append
        Resultado:    True
        Comentario:   Se añadieron 0 líneas
        Cambios:   
----------
    Estado: - svn
    Nombre:      https://svn.code.sf.net/p/line6linux/code/driver/trunk/
    Función:  latest
        Resultado:    True
        Comentario:   En la revisión 1072.
        Cambios:   
Resumen
------------
Sucedidos: 3
Fallidos:    0
------------
Total:     3
salt-centos:
----------
    Estado: - file
    Nombre:      /etc/motd
    Función:  append
        Resultado:    True
        Comentario:   Se añadieron 0 líneas
        Cambios:   
----------
    Estado: - file
    Nombre:      /etc/motd
    Función:  managed
        Resultado:    True
        Comentario:   El archivo /etc/motd está en el estado correcto
        Cambios:   
----------
    Estado: - svn
    Nombre:      https://svn.code.sf.net/p/line6linux/code/driver/trunk/
    Función:  latest
        Resultado:    True
        Comentario:   En la revisión 1072.
        Cambios:   
Resumen
------------
Sucedidos: 3
Fallidos:    0
------------
Total:     3

Puedes tener una solicitud de StateTree al servidor SaltMaster desde un Minion, así:

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

Apagando todos los minions:

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

¡Buena suerte!

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.