JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como configurar e usar o Ansible no Ubuntu

Editado 4 meses atrás por ExtremeHow Equipe Editorial

AnsibleAutomaçãoUbuntuGerenciamento de ConfiguraçãoLinuxInstalaçãoSistemas OperacionaisFerramentasSistemaConfiguração

Como configurar e usar o Ansible no Ubuntu

Tradução atualizada 5 meses atrás

Automatizar tarefas na gestão de infraestruturas de TI é crucial para a eficiência e confiabilidade. Ansible é uma ferramenta poderosa e de código aberto usada para automação, gerenciamento de configuração e implantação de aplicativos. Ele permite gerenciar facilmente um grande número de servidores enquanto garante que seus ambientes sejam reproduzíveis e consistentes. Neste guia, vamos orientá-lo na configuração e uso do Ansible no Ubuntu. Este tutorial abrangente cobrirá instalação, configuração de arquivos de inventário, criação e execução de playbooks, e compreensão dos conceitos básicos do Ansible.

1. Introdução ao Ansible

O Ansible é conhecido por sua simplicidade e facilidade de uso. Não requer instalação de nenhum agente nos nós de destino, o que significa que não é necessário executar nenhum software em seus servidores gerenciados. O Ansible se comunica com servidores via SSH e pode gerenciar sistemas semelhantes ao Unix e plataformas Windows. A principal vantagem de usar o Ansible é que ele oferece capacidades de gerenciamento de configuração e orquestração simples, poderosas e flexíveis.

2. Instalando o Ansible no Ubuntu

Configurar o Ansible no Ubuntu é um processo direto. Antes da instalação, certifique-se de que seu sistema está atualizado executando o seguinte comando no terminal:

sudo apt update sudo apt upgrade

Em seguida, instale o Ansible executando o seguinte comando:

sudo apt install ansible

Quando a instalação for concluída, verifique-a checando a versão do Ansible:

ansible --version

Você verá uma impressão da versão atualmente instalada, confirmando a instalação bem-sucedida.

3. Estabelecimento do Inventário

O Ansible requer um arquivo de inventário contendo uma lista dos servidores que você deseja gerenciar. Por padrão, este arquivo está localizado em /etc/ansible/hosts. Você pode definir hosts usando endereços IP individuais ou nomes de host agrupados sob nomes fáceis de lembrar que podem ser referenciados posteriormente no seu playbook.

Aqui está um exemplo de configuração simples de arquivo de inventário:

[webservers] 192.168.1.10 192.168.1.11 [dbservers] dbserver.example.com

Neste exemplo, definimos dois grupos de servidores: webservers e dbservers. Cada grupo contém os IPs ou nomes de domínio das máquinas associadas. Grupos podem ser usados para executar tarefas em vários servidores simultaneamente.

4. Executando comandos ad hoc

Antes de criar playbooks complexos, você pode usar o Ansible para executar comandos ad hoc no seu servidor. Isso é especialmente útil para tarefas rápidas. A sintaxe para executar um comando ad hoc é:

ansible <grupo> -m <módulo> -a "<comando>"

Por exemplo, suponha que seja necessário verificar o espaço em disco em todos os servidores web:

ansible webservers -m shell -a "df -h"

Isso invoca o módulo shell no grupo "webservers" para executar o comando "df -h". Certifique-se de que o usuário que executa o comando Ansible tenha acesso SSH ao host listado no seu arquivo de inventário.

5. Criando e entendendo Playbooks do Ansible

Embora comandos ad hoc sejam úteis, playbooks são onde o Ansible se destaca. Um playbook é um arquivo YAML que contém uma série de tarefas serializadas para ser executado em seu host especificado.

Um exemplo simples de um playbook Ansible pode parecer assim:

- hosts: webservers become: yes tasks: - name: Install Apache apt: name: apache2 state: present

Este playbook instrui o Ansible a conectar-se a todos os hosts no grupo “webservers”, elevar privilégios usando o método sudo padrão (become: yes), e instalar o pacote do servidor web Apache em cada um deles.

5.1 Componentes de um Playbook

6. Variáveis e Fatos

O Ansible permite configuração dinâmica usando variáveis. Variáveis podem ser definidas em diferentes escopos: nível de playbook, nível de host ou nível de grupo. Você pode declarar variáveis diretamente dentro do playbook:

- hosts: webservers vars: http_port: 80 tasks: - name: Ensure Apache is installed apt: name: apache2 state: present - name: Ensure Apache is started service: name: apache2 state: started

O Ansible também coleta fatos sobre o sistema por padrão. Você pode usar esses valores coletados para tomar decisões no seu playbook. Para visualizar os fatos coletados de um host específico, execute:

ansible <hostname> -m setup

7. Manipuladores e Notificações

No Ansible, algumas tarefas são úteis apenas se desencadearem alguma ação, como reiniciar um serviço quando um pacote é atualizado. Entrem manipuladores e notificações.

- hosts: webservers tasks: - name: Install apache2 apt: name: apache2 state: latest notify: - restart apache handlers: - name: restart apache service: name: apache2 state: restarted

O playbook acima reiniciará o serviço Apache apenas se a tarefa "install apache2" alterar algo, como instalar ou atualizar o Apache. Manipuladores sempre são executados no final da execução do playbook, assumindo que foram notificados.

8. Condicionais e Laços

A flexibilidade do Ansible significa que ele pode tomar decisões lógicas. Usando condicionais, você pode preparar suas tarefas para serem executadas apenas sob certas circunstâncias. condições usam templating Jinja2 para avaliar expressões:

- hosts: webservers tasks: - name: Install Apache 2 apt: name: apache2 state: latest when: ansible_os_family == "Debian"

Neste exemplo, a tarefa de instalar o Apache será executada apenas se a família do sistema operacional do nó for Debian. O loop permite que você execute a tarefa várias vezes com diferentes itens:

- hosts: webservers tasks: - name: Install needed packages apt: name: "{{ item }}" state: present loop: - "apache2" - "vim" - "git"

Esta tarefa iterará sobre a lista e instalará cada pacote listado (Apache, Vim e Git).

9. Conclusão

Com seu rico ecossistema de módulos e funcionalidades, o Ansible oferece uma estrutura poderosa para automatizar e gerenciar infraestruturas de TI. Seguindo este guia, você deve ter uma compreensão básica de como configurar o Ansible no Ubuntu e executar playbooks básicos e comandos ad hoc. As ferramentas e conceitos discutidos são apenas a base; as capacidades do Ansible se estendem muito além do que é apresentado aqui. À medida que ganhar experiência com o Ansible, você descobrirá que suas capacidades são robustas o suficiente para lidar com uma ampla gama de desafios de infraestrutura, aumentando a eficiência por meio da automação confiável.

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários