Instalação SaltStack · 7 min read · Nov 15, 2025
Como Instalar Saltstack Master e Minion no Debian 11

SaltStack é um software de automação e gerenciamento de configuração gratuito, de código aberto e baseado em Python. É uma ferramenta de linha de comando que ajuda você a gerenciar sua infraestrutura a partir de um local central. O SaltStack é composto por quatro componentes. Uma breve explicação de cada componente é mostrada abaixo:
- Salt Master atua como um controlador de linha de comando para seus minions. É usado para controlar e gerenciar vários minions.
- Salt Minions são daemons escravos que recebem configurações e comandos do master.
- Formula são arquivos de gerenciamento de configuração.
- Execution é um conjunto de comandos e módulos que são executados nos minions.
Neste artigo, vou mostrar como instalar os sistemas SaltStack Master e Minion no Debian 11.
Pré-requisitos
- Dois servidores executando Debian 11.
- Uma senha de root configurada no servidor.
Instalar Saltstack Master
Por padrão, o SaltStack não está incluído no repositório padrão do Debian 11. Portanto, você precisará adicionar o repositório do SaltStack ao APT. Você pode adicioná-lo executando o seguinte 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.listUma vez que o repositório é adicionado, atualize o cache do repositório usando o seguinte comando:
apt-get update -yEm seguida, instale as dependências necessárias usando o seguinte comando:
apt-get install python3 salt-common -yEm seguida, instale o master do SaltStack com o seguinte comando:
apt-get install salt-master -yApós a instalação bem-sucedida, você pode prosseguir para a próxima etapa.
Configurar Saltstack Master
Em seguida, você precisará definir a interface de ligação no arquivo de configuração do SaltStack.
nano /etc/salt/masterAltere a seguinte linha:
interface: 0.0.0.0Salve e feche o arquivo e reinicie o master do SaltStack com o seguinte comando:
systemctl restart salt-masterAgora você pode verificar o status do SaltStack com o seguinte comando:
systemctl status salt-masterVocê receberá a seguinte saída:
? salt-master.service - O 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 O Servidor Salt Master...
Feb 12 07:39:48 debian11 systemd[1]: Started O Servidor Salt Master.Uma vez que você tenha terminado, pode prosseguir para a próxima etapa.
Instalar e Configurar Saltstack Minion
Neste ponto, o SaltStack Master está instalado e configurado. Agora, faça login em outra máquina e adicione o repositório do SaltStack Minion com o seguinte 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.listUma vez que o repositório é adicionado, atualize o cache do repositório usando o seguinte comando:
apt-get update -yEm seguida, instale o SaltStack Minion com o seguinte comando:
apt-get install salt-minion -yApós a instalação bem-sucedida, edite o arquivo de configuração do SaltStack Minion e defina o endereço IP do master.
nano /etc/salt/minionAltere a seguinte linha:
master: salt-master-ipSalve e feche o arquivo quando terminar.
Em seguida, você precisará autenticar os minions usando a impressão digital pública do master.
Na máquina do Salt Master, liste todas as impressões digitais usando o seguinte comando:
salt-key --finger-allVocê receberá a seguinte saída:
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:d1Agora, copie a linha da impressão digital master.pub e adicione-a ao arquivo de configuração do Minion.
Na máquina do Minion, edite o arquivo de configuração:
nano /etc/salt/minionAdicione a impressão digital do master conforme mostrado abaixo:
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'Você também precisará definir o nome do Minion:
id: Minion1Salve e feche o arquivo e reinicie o SaltStack Minion usando o seguinte comando:
systemctl restart salt-minionVocê também pode verificar o status do SaltStack Minion com o seguinte comando:
systemctl status salt-minionVocê receberá a seguinte saída:
? salt-minion.service - O Salt Minion
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 O Salt Minion...
Feb 12 07:46:04 debian11 systemd[1]: Started O Salt Minion.Você também pode verificar a impressão digital do minion usando o seguinte comando:
salt-call key.finger --localVocê receberá a seguinte saída:
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:27Na máquina do SaltStack Master, combine a impressão digital usando o seguinte comando:
salt-key --finger-allVocê receberá a seguinte saída:
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:27No SaltStack Master, aceite o Minion usando o seguinte comando:
salt-key -a Minion1Você receberá a seguinte saída:
As seguintes chaves serão aceitas:
Unaccepted Keys:
Minion1
Proceed? [n/Y] Y
Chave para o minion Minion1 aceita.Agora, verifique a conexão entre Master e Minion usando o seguinte comando:
salt Minion1 test.pingVocê receberá a seguinte saída:
Minion1:
TrueUma vez que você tenha terminado, pode prosseguir para a próxima etapa.
Controlar Minions a partir do Master
Após a conexão bem-sucedida entre Master e Minion. Vamos começar a executar alguns comandos nos Minions.
Execute o seguinte comando para listar o espaço em disco disponível no Minion:
salt '*' disk.usageVocê receberá a seguinte saída:
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 o pacote Apache no Minion, execute o seguinte comando:
salt Minion1 pkg.install apache2Você receberá a seguinte saída:
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 a memória livre no Minion, execute o seguinte comando:
salt '*' cmd.run 'free -m'Você receberá a seguinte saída:
Minion1:
total used free shared buff/cache available
Mem: 1982 140 1392 2 450 1691
Swap: 0 0 0Usar Arquivo de Estado do Salt para Gerenciar Minions
Os arquivos de estado também são conhecidos como arquivos de gerenciamento de configuração que são usados para configurar e gerenciar Minions.
Para criar um arquivo de estado, você precisará criar o ambiente base para o SaltStack.
mkdir /src/saltEm seguida, crie um arquivo de estado com o seguinte comando:
nano /src/salt/setup.slsAdicione o seguinte código para instalar os pacotes PHP, UNZIP e Apache nos 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_pkgSalve e feche o arquivo e aplique a configuração a todos os Minions usando o seguinte comando:
salt '*' state.apply setupVocê receberá a seguinte saída:
Minion1:
----------
ID: network_utilities
Function: pkg.installed
Result: True
Comment: Os seguintes pacotes foram instalados/atualizados: 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 os pacotes especificados já estão instalados
Started: 07:51:39.780956
Duration: 1029.457 ms
Changes:
----------
ID: apache2_service
Function: service.running
Name: apache2
Result: True
Comment: O serviço apache2 já está em execução
Started: 07:51:40.812210
Duration: 35.61 ms
Changes:
Resumo para Minion1
------------
Succeeded: 3 (changed=1)
Failed: 0
------------
Total states run: 3
Total run time: 18.415 sConclusão
Parabéns! você instalou e configurou com sucesso o SaltStack Master e Minion no servidor Debian 11. Também explicamos como gerenciar Minions usando arquivos de estado e linha de comando. Espero que isso ajude você a automatizar e gerenciar sua infraestrutura a partir de um local central. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.