Começando com Ansible
O que é Ansible?
Ansible é uma ferramenta de automação de código aberto que permite automatizar tarefas de TI, como gerenciamento de configuração, implantação de aplicativos e provisionamento de infraestrutura. É sem agente, o que significa que não requer nenhum software adicional instalado nos sistemas de destino. Em vez disso, Ansible se comunica com os sistemas de destino usando os protocolos SSH (Secure Shell) ou WinRM (Windows Remote Management).
Por que usar Ansible?
Ansible oferece várias vantagens em relação às abordagens tradicionais de gerenciamento manual de TI:
- Simplicidade: Ansible utiliza uma linguagem simples e legível por humanos chamada YAML (YAML Ain't Markup Language) para definir suas tarefas de automação, tornando-a fácil de aprender e usar.
- Arquitetura sem agente: Ansible não requer nenhum software adicional instalado nos sistemas de destino, reduzindo a complexidade e a sobrecarga da implantação.
- Idempotência: As tarefas do Ansible são projetadas para serem idempotentes, o que significa que podem ser executadas várias vezes sem causar mudanças não intencionais.
- Escalabilidade: Ansible pode ser usado para gerenciar um grande número de sistemas, de alguns a milhares, sem sobrecarga significativa.
- Flexibilidade: Ansible suporta uma ampla gama de plataformas, incluindo Linux, Windows, macOS e provedores de nuvem, tornando-o uma ferramenta de automação versátil.
Instalando Ansible
Para começar com Ansible, você precisará instalá-lo em um nó de controle (o sistema a partir do qual você executará seus comandos Ansible). Veja como instalar o Ansible em um sistema Ubuntu 22.04:
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install ansible
Depois que o Ansible for instalado, você pode verificar a instalação executando o seguinte comando:
ansible --version
Isso deve exibir a versão do Ansible instalada em seu sistema.
Conectando-se a hosts de destino
Ansible se comunica com hosts de destino (os sistemas que você deseja automatizar) usando SSH. Para se conectar a um host de destino, você precisará garantir que o nó de controle tenha acesso ao host de destino por meio de SSH. Você pode usar chaves SSH ou senhas para autenticar no host de destino.
Aqui está um exemplo de como se conectar a um host de destino usando chaves SSH:
- Gere um par de chaves SSH no nó de controle:
ssh-keygen
- Copie a chave pública para o host de destino:
ssh-copy-id user@target_host
- Verifique a conexão executando o seguinte comando:
ansible all -m ping -i target_host,
Este comando enviará um ping para todos os hosts de destino especificados no arquivo de inventário (neste caso, um único host target_host).
Agora que você tem o Ansible instalado e pode se conectar aos hosts de destino, está pronto para começar a automatizar suas tarefas de TI usando Playbooks Ansible.