Instalación SaltStack · 7 min read · Nov 15, 2025
Cómo instalar Saltstack Master y Minion en Debian 11

SaltStack es un software de automatización y gestión de configuración gratuito, de código abierto y basado en Python. Es una herramienta de línea de comandos que te ayuda a gestionar tu infraestructura desde un lugar central. SaltStack está compuesto por cuatro componentes. A continuación se muestra una breve explicación de cada componente:
- Salt Master actúa como un controlador de línea de comandos para sus minions. Se utiliza para controlar y gestionar un número de minions.
- Salt Minions son demonios esclavos que reciben configuraciones y comandos del maestro.
- Formula son archivos de gestión de configuración.
- Execution es un conjunto de comandos y módulos que se ejecutan en los minions.
En este artículo, te mostraré cómo instalar los sistemas SaltStack Master y Minion en Debian 11.
Prerequisitos
- Dos servidores que ejecuten Debian 11.
- Una contraseña de root configurada en el servidor.
Instalar Saltstack Master
Por defecto, SaltStack no está incluido en el repositorio predeterminado de Debian 11. Por lo tanto, necesitarás agregar el repositorio de SaltStack a APT. Puedes agregarlo ejecutando el siguiente comando:
curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/11/amd64/latest/salt-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/latest bullseye main" | tee /etc/apt/sources.list.d/salt.listUna vez que se haya agregado el repositorio, actualiza la caché del repositorio utilizando el siguiente comando:
apt-get update -yA continuación, instala las dependencias requeridas utilizando el siguiente comando:
apt-get install python3 salt-common -yLuego, instala el maestro de SaltStack con el siguiente comando:
apt-get install salt-master -yDespués de la instalación exitosa, puedes proceder al siguiente paso.
Configurar Saltstack Master
A continuación, necesitarás definir la interfaz de enlace en el archivo de configuración de SaltStack.
nano /etc/salt/masterCambia la siguiente línea:
interface: 0.0.0.0Guarda y cierra el archivo, luego reinicia el maestro de SaltStack con el siguiente comando:
systemctl restart salt-masterAhora puedes verificar el estado de SaltStack con el siguiente comando:
systemctl status salt-masterObtendrás la siguiente salida:
? salt-master.service - El servidor Salt Master
Loaded: loaded (/lib/systemd/system/salt-master.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-02-12 07:39:48 UTC; 9s ago
Docs: man:salt-master(1)
file:///usr/share/doc/salt/html/contents.html
https://docs.saltproject.io/en/latest/contents.html
Main PID: 19403 (salt-master)
Tasks: 32 (limit: 2341)
Memory: 201.5M
CPU: 6.109s
CGroup: /system.slice/salt-master.service
??19403 /usr/bin/python3 /usr/bin/salt-master
??19407 /usr/bin/python3 /usr/bin/salt-master
??19431 /usr/bin/python3 /usr/bin/salt-master
??19434 /usr/bin/python3 /usr/bin/salt-master
??19435 /usr/bin/python3 /usr/bin/salt-master
??19436 /usr/bin/python3 /usr/bin/salt-master
??19437 /usr/bin/python3 /usr/bin/salt-master
??19444 /usr/bin/python3 /usr/bin/salt-master
??19445 /usr/bin/python3 /usr/bin/salt-master
??19446 /usr/bin/python3 /usr/bin/salt-master
??19448 /usr/bin/python3 /usr/bin/salt-master
??19451 /usr/bin/python3 /usr/bin/salt-master
??19454 /usr/bin/python3 /usr/bin/salt-master
Feb 12 07:39:48 debian11 systemd[1]: Starting El servidor Salt Master...
Feb 12 07:39:48 debian11 systemd[1]: Started El servidor Salt Master.Una vez que hayas terminado, puedes proceder al siguiente paso.
Instalar y configurar Saltstack Minion
En este punto, SaltStack Master está instalado y configurado. Ahora, inicia sesión en otra máquina y agrega el repositorio de SaltStack Minion con el siguiente comando:
curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/11/amd64/latest/salt-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/latest bullseye main" | tee /etc/apt/sources.list.d/salt.listUna vez que se haya agregado el repositorio, actualiza la caché del repositorio utilizando el siguiente comando:
apt-get update -yA continuación, instala el Minion de SaltStack con el siguiente comando:
apt-get install salt-minion -yDespués de la instalación exitosa, edita el archivo de configuración del Minion de SaltStack y define la dirección IP del maestro.
nano /etc/salt/minionCambia la siguiente línea:
master: salt-master-ipGuarda y cierra el archivo cuando hayas terminado.
A continuación, necesitarás autenticar los minions utilizando la huella digital pública del maestro.
En la máquina del Salt Master, lista todas las huellas digitales utilizando el siguiente comando:
salt-key --finger-allObtendrás la siguiente salida:
Local Keys:
master.pem: b7:f0:ed:19:bf:e8:e0:9d:c3:9c:a2:09:2c:97:2f:6b:0f:cb:eb:76:3d:d7:d5:a9:7d:0c:3a:60:6e:9f:d7:78
master.pub: 5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1Ahora, copia la línea de huella digital master.pub y agrégala al archivo de configuración del Minion.
En la máquina del Minion, edita el archivo de configuración:
nano /etc/salt/minionAgrega la huella digital del maestro como se muestra a continuación:
master_finger: '5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1'También necesitarás definir el nombre del Minion:
id: Minion1Guarda y cierra el archivo, luego reinicia el Minion de SaltStack utilizando el siguiente comando:
systemctl restart salt-minionTambién puedes verificar el estado del Minion de SaltStack con el siguiente comando:
systemctl status salt-minionObtendrás la siguiente salida:
? salt-minion.service - El Minion de Salt
Loaded: loaded (/lib/systemd/system/salt-minion.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-02-12 07:46:04 UTC; 7s ago
Docs: man:salt-minion(1)
file:///usr/share/doc/salt/html/contents.html
https://docs.saltproject.io/en/latest/contents.html
Main PID: 2324 (salt-minion)
Tasks: 8 (limit: 2341)
Memory: 59.9M
CPU: 1.185s
CGroup: /system.slice/salt-minion.service
??2324 /usr/bin/python3 /usr/bin/salt-minion
??2326 /usr/bin/python3 /usr/bin/salt-minion
??2328 /usr/bin/python3 /usr/bin/salt-minion
Feb 12 07:46:04 debian11 systemd[1]: Starting El Minion de Salt...
Feb 12 07:46:04 debian11 systemd[1]: Started El Minion de Salt.También puedes verificar la huella digital del minion utilizando el siguiente comando:
salt-call key.finger --localObtendrás la siguiente salida:
local:
14:12:ef:33:d2:1e:49:23:7b:a2:74:8d:19:fc:be:5e:6d:a6:57:ec:4f:a9:da:23:69:3f:62:1b:6b:4b:2f:27En la máquina del SaltStack Master, empareja la huella digital utilizando el siguiente comando:
salt-key --finger-allObtendrás la siguiente salida:
Local Keys:
master.pem: b7:f0:ed:19:bf:e8:e0:9d:c3:9c:a2:09:2c:97:2f:6b:0f:cb:eb:76:3d:d7:d5:a9:7d:0c:3a:60:6e:9f:d7:78
master.pub: 5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1
Unaccepted Keys:
Minion1: 14:12:ef:33:d2:1e:49:23:7b:a2:74:8d:19:fc:be:5e:6d:a6:57:ec:4f:a9:da:23:69:3f:62:1b:6b:4b:2f:27En el SaltStack Master, acepta el Minion utilizando el siguiente comando:
salt-key -a Minion1Obtendrás la siguiente salida:
Las siguientes claves van a ser aceptadas:
Unaccepted Keys:
Minion1
Proceed? [n/Y] Y
Clave para el minion Minion1 aceptada.Ahora, verifica la conexión entre Master y Minion utilizando el siguiente comando:
salt Minion1 test.pingObtendrás la siguiente salida:
Minion1:
TrueUna vez que hayas terminado, puedes proceder al siguiente paso.
Controlar Minions desde el Master
Después de la conexión exitosa entre Master y Minion. Comencemos a ejecutar algunos comandos en los Minions.
Ejecuta el siguiente comando para listar el espacio en disco disponible en el Minion:
salt '*' disk.usageObtendrás la siguiente salida:
Minion1:
----------
/:
----------
1K-blocks:
51538400
available:
47658628
capacity:
4%
filesystem:
/dev/sda1
used:
1661604
/dev:
----------
1K-blocks:
998936
available:
998936
capacity:
0%
filesystem:
udev
used:
0
/dev/shm:
----------
1K-blocks:
1015232
available:
1015152
capacity:
1%
filesystem:
tmpfs
used:
80Para instalar el paquete Apache en el Minion, ejecuta el siguiente comando:
salt Minion1 pkg.install apache2Obtendrás la siguiente salida:
Minion1:
----------
apache2:
----------
new:
2.4.52-1~deb11u2
old:
apache2-bin:
----------
new:
2.4.52-1~deb11u2
old:
apache2-data:
----------
new:
2.4.52-1~deb11u2
old:
apache2-utils:
----------
new:
2.4.52-1~deb11u2
old:
libapr1:
----------
new:
1.7.0-6+deb11u1
old:
libaprutil1:
----------
new:
1.6.1-5
old:
libaprutil1-dbd-sqlite3:
----------
new:
1.6.1-5
old:
libaprutil1-ldap:
----------
new:
1.6.1-5
old:Para verificar la memoria libre en el Minion, ejecuta el siguiente comando:
salt '*' cmd.run 'free -m'Obtendrás la siguiente salida:
Minion1:
total used free shared buff/cache available
Mem: 1982 140 1392 2 450 1691
Swap: 0 0 0Usar archivo de estado de Salt para gestionar Minions
Los archivos de estado también se conocen como archivos de gestión de configuración que se utilizan para configurar y gestionar Minions.
Para crear un archivo de estado, necesitarás crear el entorno base para SaltStack.
mkdir /src/saltA continuación, crea un archivo de estado con el siguiente comando:
nano /src/salt/setup.slsAgrega el siguiente código para instalar PHP, UNZIP y el paquete Apache en los Minions:
network_utilities:
pkg.installed:
- pkgs:
- php
- unzip
apache2_pkg:
pkg.installed:
- name: apache2
apache2_service:
service.running:
- name: apache2
- enable: True
- require:
- pkg: apache2_pkgGuarda y cierra el archivo, luego aplica la configuración a todos los Minions utilizando el siguiente comando:
salt '*' state.apply setupObtendrás la siguiente salida:
Minion1:
----------
ID: network_utilities
Function: pkg.installed
Result: True
Comment: Los siguientes paquetes fueron instalados/actualizados: php, unzip
Started: 07:51:22.424504
Duration: 17349.907 ms
Changes:
----------
libapache2-mod-php7.4:
----------
new:
7.4.25-1+deb11u1
old:
php:
----------
new:
2:7.4+76
old:
php-common:
----------
new:
2:76
old:
php7.4:
----------
new:
7.4.25-1+deb11u1
old:
php7.4-cli:
----------
new:
7.4.25-1+deb11u1
old:
php7.4-common:
----------
new:
7.4.25-1+deb11u1
old:
php7.4-json:
----------
new:
7.4.25-1+deb11u1
old:
php7.4-opcache:
----------
new:
7.4.25-1+deb11u1
old:
php7.4-readline:
----------
new:
7.4.25-1+deb11u1
old:
psmisc:
----------
new:
23.4-2
old:
unzip:
----------
new:
6.0-26
old:
----------
ID: apache2_pkg
Function: pkg.installed
Name: apache2
Result: True
Comment: Todos los paquetes especificados ya están instalados
Started: 07:51:39.780956
Duration: 1029.457 ms
Changes:
----------
ID: apache2_service
Function: service.running
Name: apache2
Result: True
Comment: El servicio apache2 ya está en ejecución
Started: 07:51:40.812210
Duration: 35.61 ms
Changes:
Resumen para Minion1
------------
Succeeded: 3 (changed=1)
Failed: 0
------------
Total states run: 3
Total run time: 18.415 sConclusión
¡Felicidades! has instalado y configurado con éxito SaltStack Master y Minion en el servidor Debian 11. También explicamos cómo gestionar Minions utilizando archivos de estado y la línea de comandos. Espero que esto te ayude a automatizar y gestionar tu infraestructura desde un lugar central. No dudes en preguntarme si tienes alguna pregunta.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.