Introdução
O Ansible é uma das ferramentas de automação de infraestrutura mais utilizadas no mercado, especialmente em ambientes de TI industrial onde a padronização de configurações em servidores, gateways e estações de supervisão é crítica para a continuidade operacional. Diferente de outras ferramentas de automação, o Ansible não exige a instalação de agentes nos hosts gerenciados, comunicando-se via SSH e utilizando Python para executar tarefas remotamente. Neste tutorial, vamos mostrar como instalar o Ansible no Ubuntu Linux (versões 20.04, 22.04 e 24.04 LTS) e realizar as primeiras configurações para começar a automatizar sua infraestrutura.
Pré-requisitos
- Um servidor ou máquina com Ubuntu Linux 20.04 LTS ou superior instalado.
- Usuário com privilégios sudo.
- Acesso à internet para baixar pacotes dos repositórios.
- Pelo menos um host remoto (físico ou virtual) para testar a automação, com acesso SSH habilitado.
Verificando a versão do Ubuntu
Antes de iniciar, confirme a versão do seu sistema operacional:
lsb_release -aPasso 1: Atualizando o sistema
Sempre comece atualizando os pacotes locais para evitar conflitos de dependências durante a instalação:
sudo apt update && sudo apt upgrade -yPasso 2: Instalando o Ansible via APT
O Ubuntu disponibiliza o Ansible diretamente nos repositórios oficiais, mas recomendamos adicionar o PPA mantido pela comunidade para garantir uma versão mais recente:
sudo apt install software-properties-common -y
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install ansible -yPara instalar a versão padrão dos repositórios oficiais do Ubuntu, sem o PPA, basta rodar:
sudo apt install ansible -yVerificando a instalação
Confirme que o Ansible foi instalado corretamente e verifique a versão:
ansible --versionA saída deve exibir a versão do Ansible, o caminho do arquivo de configuração padrão e a versão do Python utilizada.
Passo 3: Configurando o inventário
O inventário define quais hosts o Ansible vai gerenciar. Crie um arquivo hosts.ini em um diretório de projeto:
mkdir -p ~/ansible-projeto && cd ~/ansible-projeto
nano hosts.iniInsira o conteúdo abaixo, adaptando os IPs para o seu ambiente:
[servidores_industriais]
plc-gateway-01 ansible_host=192.168.1.10
scada-server-01 ansible_host=192.168.1.11
[servidores_industriais:vars]
ansible_user=admin
ansible_ssh_private_key_file=~/.ssh/id_rsaPasso 4: Criando o arquivo ansible.cfg
É boa prática definir um arquivo de configuração local para o projeto, evitando depender apenas do arquivo global em /etc/ansible/ansible.cfg:
[defaults]
inventory = ./hosts.ini
remote_user = admin
host_key_checking = False
retry_files_enabled = FalsePasso 5: Testando a conectividade
Use o módulo ping do Ansible (que não é um ICMP ping, mas um teste de conexão SSH e Python) para validar a comunicação com os hosts:
ansible servidores_industriais -m pingUma resposta bem-sucedida retorna "pong" para cada host do grupo.
Passo 6: Executando seu primeiro comando ad-hoc
Antes de partir para playbooks, é útil validar comandos pontuais:
ansible servidores_industriais -a "uptime" -bBoas práticas
- Mantenha o Ansible atualizado, mas teste atualizações em ambiente de homologação antes de aplicar em produção industrial.
- Utilize chaves SSH em vez de senhas para autenticação nos hosts gerenciados.
- Organize os inventários por ambiente (produção, homologação, chão de fábrica) usando diretórios separados.
- Versione seus playbooks e arquivos de inventário em um repositório Git.
- Evite rodar comandos ad-hoc destrutivos em produção sem antes testar com
--check(modo dry-run).