Deployando Ansible no Sistema Operacional Ubuntu

AnsibleBeginner
Pratique Agora

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

  1. Atualize o índice de pacotes:
sudo apt update
  1. Instale os pacotes necessários:
sudo apt install software-properties-common
  1. Adicione o PPA (Personal Package Archive) do Ansible à lista de fontes do seu sistema:
sudo add-apt-repository --yes --update ppa:ansible/ansible
  1. Instale o Ansible:
sudo apt install ansible
  1. Verifique a instalação:
ansible --version

Você deve ver as informações da versão do Ansible exibidas.

Configurar o Ansible

  1. 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
  1. 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
  1. 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:

  1. Salve o playbook em um arquivo, por exemplo, apache.yml.
  2. 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.