Automatización IT · 9 min read · Oct 26, 2025
Introducción al Marco de Automatización IT Salt en AlmaLinux 9

Salt o Saltstack es un marco de automatización IT de código abierto que permite a los administradores ejecutar comandos de forma remota en múltiples máquinas directamente. Salt está principalmente escrito en Python y diseñado utilizando una arquitectura de Maestro y Minion. El maestro de SaltStack es el controlador central de la gestión de configuración de Salt, y los Minions son servidores gestionados por el Maestro de SaltStack, o se les denomina minions como servidores objetivo.
El maestro de SaltStack se ejecuta en el sistema operativo Linux por defecto, pero los minions pueden utilizarse en cualquier sistema operativo. Saltstack es una gestión de configuración revolucionaria para el despliegue de automatización, ejecución de tareas remotas e infraestructura como código. SaltStack también puede utilizarse para aprovisionar múltiples servidores de infraestructura, incluidos servidores físicos y virtuales, así como la nube.
Este tutorial te mostrará cómo instalar Salt en servidores AlmaLinux 9. También aprenderás el uso básico de los módulos de Salt y crearás el primer proyecto de estado de Salt. En este caso, crearás un proyecto de estado de Salt para instalar LEMP Stack.
Requisitos Previos
Para comenzar con esta guía, asegúrate de tener lo siguiente:
- 3 servidores AlmaLinux 9.
- Un usuario no root con privilegios de administrador sudo.
- Un SELinux con estado Permisivo o Deshabilitado.
Configurando Firewalld en el Maestro de Salt
Antes de instalar Salt, debes abrir los puertos 4505 y 4506 en el servidor Maestro de Salt, que serán utilizados por los Minions de Salt para conectarse al Maestro de Salt. Para lograr esto, utilizarás Firewalld.
Ejecuta el siguiente comando para abrir los puertos 4505 y 4506 para el servidor Maestro de Salt.
sudo firewall-cmd --zone=public --permanent --add-port={4505,4506}/tcpAhora recarga el firewalld para aplicar los cambios, luego verifica la lista de puertos abiertos en firewalld utilizando el comando a continuación.
sudo firewall-cmd --reload
sudo firewall-cmd --list-allDespués de ejecutar el comando, los puertos 4505 y 4506 se agregarán a firewalld.

Agregando el Repositorio de Salt
Los paquetes de Salt están disponibles en el repositorio oficial de Salt. Ahora, agregarás el repositorio de Salt a todos tus servidores AlmaLinux, tanto al Maestro de Salt como a los Minions.
Ejecuta el comando a continuación para importar la clave GPG de Salt.
sudo rpm --import https://repo.saltproject.io/salt/py3/redhat/9/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pubAhora descarga el repositorio de Salt a tus sistemas utilizando el comando a continuación.
curl -fsSL https://repo.saltproject.io/salt/py3/redhat/9/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
Una vez que se haya agregado la clave GPG de Salt y el repositorio, ejecuta el comando dnf a continuación para verificar la lista de los repositorios disponibles en tus sistemas y descargar los metadatos para todos los repositorios disponibles.
sudo dnf repolist
sudo dnf makecacheSuponiendo que el comando sea exitoso, la salida que recibas debería ser similar a la siguiente:

Instalando y Configurando el Maestro de Salt
Después de agregar el repositorio de Salt, instalarás y configurarás el paquete salt-master en el servidor Maestro de Salt principal.
Instala el paquete salt-master utilizando el comando dnf a continuación. Ingresa y cuando se te pida proceder con la instalación.
sudo dnf install salt-master
Una vez que se complete la instalación, abre la configuración predeterminada de Salt /etc/salt/master utilizando el siguiente comando del editor nano.
sudo nano /etc/salt/masterCambia la opción de interfaz predeterminada por tu dirección IP local y la opción ID por el nombre de host de tu servidor. En este caso, el servidor Maestro de Salt está configurado con la dirección IP local 192.168.5.50 y el nombre de host master.
interface: 192.168.5.50
id: masterCuando termines, guarda y cierra el archivo.
A continuación, ejecuta el siguiente comando systemctl para iniciar y habilitar el servicio salt-master.
sudo systemctl start salt-master
sudo systemctl enable salt-masterPor último, verifica el servicio salt-master para asegurarte de que el servicio esté en ejecución ejecutando el comando a continuación.
sudo systemctl status salt-masterTras una operación exitosa, la salida mostrada debería ser active (running), lo que indica que el servicio salt-master está en funcionamiento.

Instalando y Configurando el Minion de Salt
Después de configurar el Maestro de Salt, el siguiente paso es instalar salt-minion y configurar los servidores Minion para conectarse al Maestro de Salt.
Ejecuta el comando dnf a continuación para instalar el paquete salt-minion en tus servidores Minion. Escribe y para confirmar la instalación.
sudo dnf install salt-minion
Después de la instalación, abre la configuración predeterminada de Salt /etc/salt/minion utilizando el siguiente comando del editor nano.
sudo nano /etc/salt/minionDentro de la opción master, ingresa la dirección IP del Maestro de Salt.
master: 192.168.5.50Ingresa la dirección IP local del minion en la opción de interfaz e ingresa el nombre de host del servidor en la opción id.
interface: 192.168.5.20
id: minion1Guarda el archivo y sal del editor cuando termines.
A continuación, ejecuta el siguiente comando systemctl para iniciar y habilitar el servicio salt-minion.
sudo systemctl start salt-minion
sudo systemctl enable salt-minionUna vez que el servicio salt-minion esté iniciado, verifícalo utilizando el siguiente comando.
sudo systemctl status salt-minionSi todo va bien, la salida será active (running), lo que confirma que el servicio salt-minion está en funcionamiento.

Registrando Minions de Salt en el Maestro de Salt
En este punto, el servicio salt-minion está en funcionamiento. A partir de ahí, los Minions de Salt envían una solicitud para registrarse en el Maestro de Salt. Para solicitar el registro del Minion de Salt, debes aceptar la clave de huella digital en el Maestro de Salt.
Dirígete al Maestro de Salt y ejecuta el comando salt-key a continuación para obtener la lista de claves de huella digital.
salt-key --finger-allAquí las huellas digitales de los servidores Minion minion1 y minion2, que aún están en estado ‘Unaccepted Keys‘.

Ejecuta el siguiente comando para aceptar la clave del Minion de Salt para ambos servidores minion1 y minion2.
salt-key -a minion1
salt-key -a minion2Ingresa Y cuando se te pida aceptar la clave, y deberías obtener una salida como ‘Key for minion minion1/2 accepted‘.

Ahora verifica la lista de claves de huella digital en el Maestro de Salt nuevamente utilizando el comando a continuación.
salt-key --finger-allAquí la huella digital del Minion de Salt para los servidores minion1 y minion2 está disponible en la sección Accepted Keys.
Ahora puedes controlar los servidores Minion de Salt desde el Maestro de Salt a través de la línea de comandos de Salt.
Ejecuta el comando salt a continuación para verificar la conexión entre el Maestro de Salt y los Minions y verificar la versión de Salt en los servidores Minion.
salt '*' test.ping
salt '*' test.versionSi la conexión es exitosa entre el Maestro de Salt y el Minion, se mostrará la salida True. Además, puedes ver que la versión de Salt 3006.4 está instalada, que es el resultado del parámetro test.version.

Además, puedes especificar el minion objetivo utilizando el comando salt de esta manera.
salt minion1 test.pingUso Básico del Módulo de Estado de Salt
En la siguiente sección, aprenderás cómo usar el módulo de estado de Salt para gestionar servidores Minion. Explorarás algunos de los módulos de estado de Salt como cmd para ejecutar comandos de Linux arbitrarios, pkg para gestionar paquetes y repositorios, y el módulo de servicio para gestionar servicios.
Ejecutando Comando Arbitrario a través del Módulo cmd
Ejecuta el comando a continuación para ejecutar comandos específicos de Linux a través del módulo de estado cmd. En este ejemplo, comprobarás los detalles del núcleo de Linux a través del comando uname -a.
salt '*' cmd.run 'uname -a'Gestionando Paquetes y Repositorios a través del Módulo pkg
Ahora, utiliza el siguiente módulo de estado pkg para gestionar paquetes y repositorios en tus servidores Minion.
Verifica la lista de repositorios a través de pkg.list_repos, luego actualiza los repositorios a través de pkg.refresh_db.
salt '*' pkg.list_repos
salt '*' pkg.refresh_dbTambién puedes verificar la lista de actualizaciones de paquetes disponibles utilizando el argumento pkg.list_upgrades a continuación.
salt '*' pkg.list_upgradesPara instalar un paquete específico, utiliza el siguiente pkg.install a continuación.
salt '*' pkg.install vim
Gestionando Servicios a través del Módulo service
A continuación, puedes utilizar el módulo de estado de servicio para gestionar servicios en tus servidores Minion.
Utiliza el argumento service.available para asegurarte de que el servicio esté disponible en el servidor objetivo. O utiliza el argumento service.enabled para asegurarte de que el servicio objetivo esté habilitado, o también puedes usar el service.get_running para asegurarte de que el servicio esté en ejecución.
salt '*' service.available chronyd
salt '*' service.enabled chronyd
salt '*' service.get_running
Por último, también puedes comprobar el comando de inicio que se ejecuta por un servicio específico utilizando el argumento service.execs.
salt '*' service.execsCreando el Primer Estado de Salt
En esta sección, crearás el primer proyecto de estado de Salt para instalar LEMP Stack (Nginx, MariaDB y PHP-FPM) en los servidores Minion objetivo.
Antes de continuar, ejecuta el siguiente comando para habilitar el módulo de repositorio que se utilizará para instalar paquetes de versiones específicas.
salt '*' cmd.run 'sudo dnf module enable nginx:1.22 -y'
salt '*' cmd.run 'sudo dnf module enable php:8.1 -y'
Ahora, crea un nuevo directorio de configuración /srv/salt/ que se utilizará para almacenar tu estado de Salt.
mkdir -p /srv/salt/Ejecuta el comando a continuación para crear un nuevo directorio de proyecto /srv/salt/lemp y el archivo init.sls.
mkdir -p /srv/salt/lemp
nano /srv/salt/lemp/init.slsInserta la siguiente configuración en el archivo. En este caso, instalarás los paquetes de LEMP Stack en los servidores Minion a través del módulo de estado pkg y asegurarás que cada servicio esté en ejecución y habilitado utilizando el módulo de estado de servicio.
lemp_stack:
pkg.installed:
- pkgs:
- nginx
- mariadb-server
- php
- php-fpm
ginx:
service.running:
- enable: True
- reload: True
mariadb:
service.running:
- enable: True
- reload: True
php-fpm:
service.running:
- enable: True
- reload: TrueGuarda y cierra el archivo cuando termines.
A continuación, ejecuta el siguiente comando para mostrar la configuración del estado detallado para el proyecto lemp.
sudo salt * state.show_sls lempDespués de que se ejecute el comando, deberías obtener la configuración detallada como la siguiente.

Ahora ejecuta el siguiente comando para aplicar el estado lemp a los servidores Minion.
sudo salt '*' state.apply lempDeberías ver el informe generado de la instalación automática. La instalación de los paquetes de LEMP Stack en ambos servidores Minion fue exitosa en este caso.

A continuación se muestran los detalles cuando los servicios están en ejecución y habilitados.

Conclusión
Para concluir, ahora has instalado Salt en servidores AlmaLinux 9 paso a paso. Has instalado y configurado tanto el Maestro de Salt como los Minions en los servidores AlmaLinux, y también has aprendido el uso básico de los módulos de estado de Salt, y creado tu primer proyecto de estado de Salt para instalar LEMP Stack.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.