Automação TI · 9 min read · Oct 26, 2025
Introdução ao Framework de Automação de TI Salt no AlmaLinux 9

Salt ou Saltstack é um framework de automação de TI de código aberto que permite que administradores executem comandos remotamente em várias máquinas diretamente. Salt é principalmente escrito em Python e projetado usando a arquitetura Master e Minion. O master do SaltStack é o controlador central da gestão de configuração do Salt, e os Minions são servidores gerenciados pelo Master do SaltStack, ou você nomeou minions como servidores-alvo.
O master do SaltStack roda no sistema operacional Linux por padrão, mas os minions podem ser usados em qualquer sistema operacional. Saltstack é uma gestão de configuração revolucionária para implantação de automação, execução remota de tarefas e infraestrutura como código. SaltStack também pode ser usado para provisionar múltiplos servidores de infraestrutura, incluindo servidores físicos e virtuais, e também na nuvem.
Este tutorial mostrará como instalar o Salt em servidores AlmaLinux 9. Você também aprenderá o uso básico dos módulos Salt e criará o primeiro projeto de estado Salt. Neste caso, você criará um projeto de estado Salt para instalar o LEMP Stack.
Pré-requisitos
Para começar com este guia, certifique-se de ter o seguinte:
- 3 servidores AlmaLinux 9.
- Um usuário não-root com privilégios de administrador sudo.
- Um SELinux com status Permissivo ou Desativado.
Configurando o Firewalld no Master do Salt
Antes de instalar o Salt, você deve abrir as portas 4505 e 4506 no servidor Master do Salt, que serão usadas pelos Minions do Salt para se conectar ao Master do Salt. Para isso, você usará o Firewalld.
Execute o seguinte comando para abrir as portas 4505 e 4506 para o servidor Master do Salt.
sudo firewall-cmd --zone=public --permanent --add-port={4505,4506}/tcpAgora recarregue o firewalld para aplicar as mudanças, então verifique a lista de portas abertas no firewalld usando o comando abaixo.
sudo firewall-cmd --reload
sudo firewall-cmd --list-allApós executar o comando, as portas 4505 e 4506 são adicionadas ao firewalld.

Adicionando o Repositório Salt
Os pacotes Salt estão disponíveis no repositório oficial do Salt. Agora, você adicionará o repositório Salt a todos os seus servidores AlmaLinux, tanto o Master do Salt quanto os Minions.
Execute o comando abaixo para importar a chave GPG do Salt.
sudo rpm --import https://repo.saltproject.io/salt/py3/redhat/9/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pubAgora baixe o repositório Salt para seus sistemas usando o comando abaixo.
curl -fsSL https://repo.saltproject.io/salt/py3/redhat/9/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
Uma vez que a chave GPG do Salt e o repositório foram adicionados, execute o comando dnf abaixo para verificar a lista dos repositórios disponíveis em seus sistemas e baixar os metadados para todos os repositórios disponíveis.
sudo dnf repolist
sudo dnf makecacheAssumindo que o comando foi bem-sucedido, a saída que você receber deve ser semelhante ao seguinte:

Instalando e Configurando o Master do Salt
Após adicionar o repositório Salt, você instalará e configurará o pacote salt-master no servidor Master do Salt.
Instale o pacote salt-master usando o comando dnf abaixo. Digite y quando solicitado para prosseguir com a instalação.
sudo dnf install salt-master
Uma vez que a instalação esteja concluída, abra a configuração padrão do Salt /etc/salt/master usando o seguinte comando do editor nano.
sudo nano /etc/salt/masterAltere a opção de interface padrão com seu endereço IP local e a opção ID com o nome do seu servidor. Neste caso, o servidor Master do Salt está configurado com o endereço IP local 192.168.5.50 e o nome do host master.
interface: 192.168.5.50
id: masterQuando terminar, salve e feche o arquivo.
Em seguida, execute o seguinte comando systemctl para iniciar e habilitar o serviço salt-master.
sudo systemctl start salt-master
sudo systemctl enable salt-masterPor último, verifique o serviço salt-master para garantir que o serviço está em execução executando o comando abaixo.
sudo systemctl status salt-masterApós a operação bem-sucedida, a saída exibida deve ser ativo (em execução), o que indica que o serviço salt-master está em execução.

Instalando e Configurando o Minion do Salt
Após configurar o Master do Salt, o próximo passo é instalar o salt-minion e configurar os servidores Minion para se conectar ao Master do Salt.
Execute o comando dnf abaixo para instalar o pacote salt-minion em seus servidores Minion. Digite y para confirmar a instalação.
sudo dnf install salt-minion
Após a instalação, abra a configuração padrão do Salt /etc/salt/minion usando o comando do editor nano abaixo.
sudo nano /etc/salt/minionDentro da opção master, insira o endereço IP do Master do Salt.
master: 192.168.5.50Insira o endereço IP local do minion na opção de interface e insira o nome do servidor na opção id.
interface: 192.168.5.20
id: minion1Salve o arquivo e saia do editor quando terminar.
Em seguida, execute o comando systemctl abaixo para iniciar e habilitar o serviço salt-minion.
sudo systemctl start salt-minion
sudo systemctl enable salt-minionUma vez que o serviço salt-minion esteja iniciado, verifique-o usando o comando abaixo.
sudo systemctl status salt-minionSe tudo correr bem, a saída será ativo (em execução), o que confirma que o serviço salt-minion está em execução.

Registrando Minions do Salt no Master do Salt
Neste ponto, o serviço salt-minion está em execução. Com isso, os Minions do Salt enviam um pedido para se registrar no Master do Salt. Para solicitar o registro do Minion do Salt, você deve aceitar a chave de impressão digital no Master do Salt.
Vá para o Master do Salt e execute o comando salt-key abaixo para obter a lista de chaves de impressão digital.
salt-key --finger-allAqui estão as impressões digitais dos servidores Minion do Salt minion1 e minion2, que ainda estão no status ‘Chaves Não Aceitas‘.

Execute o comando abaixo para aceitar a chave do Minion do Salt para ambos os servidores minion1 e minion2.
salt-key -a minion1
salt-key -a minion2Digite Y quando solicitado para aceitar a chave, e você deve obter uma saída como ‘Chave para minion minion1/2 aceita‘.

Agora verifique a lista de chaves de impressão digital no Master do Salt novamente usando o comando abaixo.
salt-key --finger-allAqui a impressão digital do Minion do Salt para os servidores minion1 e minion2 está disponível na seção Chaves Aceitas.
Agora você pode controlar os servidores Minion do Salt a partir do Master do Salt via linha de comando do Salt.
Execute o comando salt abaixo para verificar a conexão entre o Master do Salt e os Minions e verificar a versão do Salt nos servidores Minion.
salt '*' test.ping
salt '*' test.versionSe a conexão for bem-sucedida entre o Master do Salt e o Minion, a saída True será exibida. Além disso, você pode ver que o Salt 3006.4 está instalado, que é o resultado do parâmetro test.version.

Além disso, você pode especificar o minion alvo usando o comando salt assim:
salt minion1 test.pingUso Básico do Módulo de Estado do Salt
Na seção a seguir, você aprenderá como usar o módulo de estado do Salt para gerenciar servidores Minion. Você explorará alguns dos módulos de estado do Salt, como cmd para executar comandos Linux arbitrários, pkg para gerenciar pacotes e repositórios, e o módulo de serviço para gerenciar serviços.
Executando Comando Arbitrário via Módulo cmd
Execute o comando abaixo para executar comandos Linux específicos via o módulo de estado cmd. Neste exemplo, você verificará os detalhes do kernel Linux via o comando uname -a.
salt '*' cmd.run 'uname -a'Gerenciando Pacotes e Repositórios via Módulo pkg
Agora, use o seguinte módulo de estado pkg para gerenciar pacotes e repositórios em seus servidores Minion.
Verifique a lista de repositórios via pkg.list_repos, então atualize os repositórios via pkg.refresh_db.
salt '*' pkg.list_repos
salt '*' pkg.refresh_dbVocê também pode verificar a lista de atualizações de pacotes disponíveis usando o argumento pkg.list_upgrades abaixo.
salt '*' pkg.list_upgradesPara instalar um pacote específico, use o seguinte pkg.install abaixo.
salt '*' pkg.install vim
Gerenciando Serviços via Módulo service
Em seguida, você pode usar o módulo de estado de serviço para gerenciar serviços em seus servidores Minion.
Use o argumento service.available para garantir que o serviço esteja disponível no servidor alvo. Ou use o argumento service.enabled para garantir que o serviço alvo esteja habilitado, ou você também pode usar o service.get_running para garantir que o serviço esteja em execução.
salt '*' service.available chronyd
salt '*' service.enabled chronyd
salt '*' service.get_running
Por último, você também pode verificar o comando de início que é executado por um serviço específico usando o argumento service.execs.
salt '*' service.execsCriando o Primeiro Estado Salt
Nesta seção, você criará o primeiro projeto de estado Salt para instalar o LEMP Stack (Nginx, MariaDB e PHP-FPM) nos servidores Minion alvo.
Antes de prosseguir, execute o seguinte comando para habilitar o módulo de repositório que será usado para instalar pacotes de versões específicas.
salt '*' cmd.run 'sudo dnf module enable nginx:1.22 -y'
salt '*' cmd.run 'sudo dnf module enable php:8.1 -y'
Agora, crie um novo diretório de configuração /srv/salt/ que será usado para armazenar seu estado Salt.
mkdir -p /srv/salt/Execute o comando abaixo para criar um novo diretório de projeto /srv/salt/lemp e o arquivo init.sls.
mkdir -p /srv/salt/lemp
nano /srv/salt/lemp/init.slsInsira a seguinte configuração no arquivo. Neste caso, você instalará pacotes do LEMP Stack nos servidores Minion via o módulo de estado pkg e garantirá que cada serviço esteja em execução e habilitado usando o módulo de estado de serviço.
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: TrueSalve e feche o arquivo quando terminar.
Em seguida, execute o comando abaixo para mostrar a configuração do estado detalhada para o projeto lemp.
sudo salt * state.show_sls lempApós a execução do comando, você deve obter a configuração detalhada como a seguinte.

Agora execute o seguinte comando para aplicar o estado lemp aos servidores Minion.
sudo salt '*' state.apply lempVocê deve ver o relatório gerado da instalação automática. A instalação dos pacotes do LEMP Stack em ambos os servidores Minion foi bem-sucedida neste caso.

Abaixo estão os detalhes quando os serviços estão em execução e habilitados.

Conclusão
Para concluir, você agora instalou o Salt nos servidores AlmaLinux 9 passo a passo. Você instalou e configurou tanto o Master do Salt quanto os Minions nos servidores AlmaLinux, e também aprendeu o uso básico dos módulos de estado do Salt, e criou seu primeiro projeto de estado Salt para instalar o LEMP Stack.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.