Introdução
Este tutorial guiará você pelo processo de instalação do Ansible, uma poderosa ferramenta de automação de TI de código aberto, no sistema operacional Ubuntu. Você aprenderá como configurar o Ansible e executar playbooks do Ansible para otimizar suas tarefas de gerenciamento de infraestrutura.
Compreendendo o Ansible
O Ansible é uma ferramenta de código aberto para provisionamento de software, gerenciamento de configuração e implantação de aplicativos. É projetado para ser simples, poderoso e sem agentes, permitindo que os usuários gerenciem e configurem vários sistemas remotos simultaneamente.
O que é o Ansible?
O Ansible é uma poderosa ferramenta de automação que permite gerenciar sua infraestrutura, aplicativos e serviços de forma declarativa e idempotente. Ele utiliza uma linguagem simples e legível, chamada YAML, para definir o estado desejado de seus sistemas e, em seguida, executa as tarefas necessárias para atingir esse estado.
Principais Características do Ansible
- Sem Agentes: O Ansible não requer nenhum software ou agente especial instalado nos sistemas remotos. Ele utiliza SSH (ou Gerenciamento Remoto do Windows) para se comunicar com os sistemas de destino.
- Abordagem Declarativa: O Ansible utiliza uma abordagem declarativa, onde você define o estado desejado de seus sistemas, e o Ansible cuida das etapas necessárias para atingir esse estado.
- Idempotência: As tarefas do Ansible são projetadas para serem idempotentes, o que significa que podem ser executadas várias vezes sem causar alterações indesejadas.
- Design Modular: O Ansible possui um design modular, com uma ampla gama de módulos embutidos que podem ser usados para executar diversas tarefas, como gerenciar arquivos, instalar pacotes ou interagir com serviços em nuvem.
- Simples e Legível: A linguagem YAML do Ansible é projetada para ser simples e fácil de ler, tornando-a acessível tanto para desenvolvedores quanto para administradores de sistemas.
Casos de Uso do Ansible
O Ansible pode ser usado para uma ampla gama de tarefas, incluindo:
- Provisionamento de Infraestrutura
- Gerenciamento de Configuração
- Implantação de Aplicativos
- Orquestração
- Segurança e Conformidade
- Integração Contínua/Entrega Contínua (CI/CD)
Arquitetura do Ansible
O Ansible utiliza uma arquitetura cliente-servidor, onde o nó de controle do Ansible (o sistema onde o Ansible está instalado) se comunica com os sistemas de destino remotos (os sistemas que você deseja gerenciar) por meio de SSH ou Gerenciamento Remoto do Windows.
graph TD
A[Nó de Controle do Ansible] -- SSH/WinRM --> B[Sistema de Destino 1]
A -- SSH/WinRM --> C[Sistema de Destino 2]
A -- SSH/WinRM --> D[Sistema de Destino 3]
O nó de controle do Ansible executa as tarefas necessárias nos sistemas de destino, e os sistemas de destino comunicam os resultados de volta ao nó de controle.
Instalando o Ansible no Ubuntu
Pré-requisitos
Antes de instalar o Ansible, certifique-se de que os seguintes pré-requisitos estão atendidos:
- Sistema Ubuntu 22.04 LTS
- Python 3 instalado
- Privilégios de sudo ou root
Instalar o Ansible
- Atualize o índice de pacotes:
sudo apt update
- Instale os pacotes necessários:
sudo apt install software-properties-common
- Adicione o PPA (Personal Package Archive) do Ansible à lista de fontes do seu sistema:
sudo add-apt-repository --yes --update ppa:ansible/ansible
- Instale o Ansible:
sudo apt install ansible
- Verifique a instalação:
ansible --version
Você deve ver as informações da versão do Ansible exibidas.
Configurar o Ansible
- Crie um arquivo de inventário do Ansible:
sudo nano /etc/ansible/hosts
Adicione os hosts de destino ao arquivo de inventário, por exemplo:
[webservers]
192.168.1.100
192.168.1.101
[databases]
192.168.1.200
192.168.1.201
- Crie um arquivo de configuração do Ansible:
sudo nano /etc/ansible/ansible.cfg
Adicione as opções de configuração desejadas, por exemplo:
[defaults]
inventory = /etc/ansible/hosts
remote_user = ubuntu
- Teste a conexão do Ansible:
ansible all -m ping
Este comando enviará um ping para todos os hosts no arquivo de inventário e verificará a conexão.
Agora, você instalou e configurou o Ansible com sucesso em seu sistema Ubuntu 22.04 para gerenciar seus hosts de destino.
Executando Playbooks Ansible
O que é um Playbook Ansible?
Um Playbook Ansible é um arquivo formatado em YAML que define o estado desejado de sua infraestrutura ou aplicação. Ele contém uma coleção de tarefas, executadas em uma ordem específica para atingir o estado desejado.
Anatomia de um Playbook Ansible
Um Playbook Ansible básico consiste nos seguintes elementos:
- Hosts: Os hosts ou grupos de destino nos quais o playbook será executado.
- Tarefas: As ações que o Ansible realizará nos hosts de destino.
- Variáveis: Valores que podem ser usados em todo o playbook.
- Handlers: Tarefas acionadas por outras tarefas.
Aqui está um exemplo de Playbook Ansible que instala o servidor web Apache em um grupo de hosts Ubuntu:
- hosts: webservers
tasks:
- name: Instalar Apache
apt:
name: apache2
state: present
- name: Iniciar Apache
service:
name: apache2
state: started
enabled: yes
Executando um Playbook Ansible
Para executar um Playbook Ansible, siga estas etapas:
- Salve o playbook em um arquivo, por exemplo,
apache.yml. - Execute o playbook usando o comando
ansible-playbook:
ansible-playbook apache.yml
Isso executará as tarefas definidas no playbook nos hosts de destino.
Opções de Execução de Playbook
Você pode personalizar a execução do playbook usando várias opções, como:
- Limit: Executar o playbook em um host ou grupo específico.
ansible-playbook apache.yml -l webservers - Check: Executar uma simulação para ver quais mudanças seriam feitas.
ansible-playbook apache.yml --check - Become: Executar o playbook com privilégios elevados.
ansible-playbook apache.yml --become
Compreendendo e utilizando Playbooks Ansible, você pode automatizar facilmente a implantação e configuração de sua infraestrutura e aplicações em sistemas Ubuntu.
Resumo
Ao final deste tutorial, você terá um conhecimento sólido do Ansible e suas capacidades, bem como o conhecimento para instalar o Ansible em seu sistema Ubuntu e começar a automatizar suas tarefas de gerenciamento de infraestrutura usando playbooks Ansible.


