Editado 5 dias atrás por ExtremeHow Equipe Editorial
AutomaçãoAnsibleGerenciamento de ConfiguraçãoDevOpsScriptingLinha de comandoConfiguração do ServidorOrquestraçãoPlaybooksGestão
Tradução atualizada 2 Semanas atrás
Gerenciar um grande número de servidores e automatizar processos é uma tarefa comum para administradores de sistemas e profissionais de DevOps. O Ansible é uma ferramenta poderosa e simples que pode ajudar nesse aspecto. Ele permite infraestrutura como código, gerenciamento de configuração e automação de tarefas. Este guia irá conduzi-lo pelos passos detalhados sobre como instalar e usar o Ansible no Linux. Cobriremos o básico necessário para começar com o Ansible.
O Ansible é uma ferramenta ou plataforma de automação de código aberto usada para tarefas de TI, como implantação de aplicativos, orquestração, gerenciamento de configuração, nas quais ele usa playbooks para configurar sistemas, implantar software e orquestrar fluxos de trabalho avançados. É fácil de configurar, não requer agentes e usa YAML (Yet Another Markup Language) para seus playbooks, tornando-o bastante simples para iniciantes entenderem e usarem efetivamente.
Antes de começar, certifique-se de ter o seguinte:
O processo de instalação do Ansible varia ligeiramente dependendo da distribuição do Linux que você está usando. Vamos dar uma olhada em alguns dos métodos mais comuns:
Siga estes passos para instalar o Ansible no Ubuntu:
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt update
sudo apt install ansible
ansible --version
Se você estiver usando CentOS ou Red Hat Enterprise Linux (RHEL), siga estes passos:
sudo yum install epel-release
sudo yum install ansible
ansible --version
Para usuários do Fedora, o processo é parecido:
sudo dnf install ansible
ansible --version
Após instalar o Ansible, o próximo passo é configurá-lo. O Ansible utiliza SSH para se comunicar com servidores remotos. Você precisa configurar o acesso SSH às máquinas hospedeiras que você gerenciará através do Ansible.
ssh-keygen
ssh-copy-id <user>@<host>
ssh <user>@<host>
O arquivo de inventário do Ansible lista os hosts e grupos de hosts que o Ansible foi instruído a gerenciar. Por padrão, ele está localizado em /etc/ansible/hosts
.
sudo nano /etc/ansible/hosts
[webservers]<hostname> ansible_host=<IP>[dbservers]<hostname> ansible_host=<IP>
Os playbooks do Ansible são arquivos que contêm uma série de tarefas que o Ansible seguirá. Eles são escritos no formato YAML, que é fácil de ler e entender. Eis uma estrutura básica de um playbook do Ansible:
---
- name: Assegurar que o Apache está instalado
hosts: webservers
tasks:
- name: Instalar o Apache
apt:
name: apache2
state: present
No exemplo acima:
name
: Descreve sobre o que é o playbook.hosts
: Especifica os hosts ou grupos de hosts aos quais o playbook se aplica.tasks
: Lista de tarefas a serem executadas, cada tarefa possui seu próprio name
e action
.Os módulos Ansible são os blocos de construção para criar playbooks Ansible. Cada módulo é um script independente que o Ansible executa um de cada vez. Os módulos podem ser usados para gerenciar hardware, configuração do sistema operacional e mais.
Exemplo de uso do módulo apt
em um playbook:
- name: Instalar Apache
hosts: webservers
tasks:
- name: Instalar pacote Apache
apt:
name: apache2
state: latest
Depois de escrever o playbook, você precisa executá-lo para automatizar as tarefas desejadas no seu servidor. Para executar o playbook:
.yml
.playbook.yml
pelo nome do arquivo do seu playbook):ansible-playbook playbook.yml
Suponha que você tenha criado um playbook nomeado setup_web.yml
com o seguinte conteúdo:
- name: Configurar servidor web
hosts: webservers
become: true
tasks:
- name: Instalar Apache
apt:
name: apache2
state: present
- name: Iniciar Apache
service:
name: apache2
state: started
Execute-o assim:
ansible-playbook setup_web.yml
Após a execução, o Ansible instala o Apache e inicia seu serviço em todos os hosts listados no grupo de servidores web no seu arquivo de inventário.
Para gerenciar sistemas mais complexos, os papéis do Ansible permitem organizar playbooks em componentes reutilizáveis. Os papéis permitem que você divida um playbook em vários arquivos menores, que podem ser mais facilmente mantidos. Os papéis geralmente contêm tarefas, manipuladores, modelos, variáveis e arquivos, organizados em uma estrutura específica.
ansible-galaxy init <rolename>
/roles
, contendo diretórios para tarefas, manipuladores, etc.- hosts: webservers
roles:
- <rolename>
Isso fará com que as funções definidas no papel sejam aplicadas ao host especificado.
Alguns problemas comuns que você pode encontrar ao trabalhar com o Ansible incluem:
O Ansible é uma ferramenta versátil para automação de provisionamento de servidor e aplicativo, configuração e gerenciamento. Com sua vasta coleção de módulos e playbooks fáceis de entender escritos em YAML, o Ansible torna-se uma ferramenta indispensável no kit de ferramentas de um administrador de TI. Seguindo os passos mencionados, profissionais podem facilmente instalar o Ansible usando um gerenciador de pacotes Linux, configurá-lo facilmente e automatizar tarefas em sua infraestrutura com playbooks e papéis.
Se você encontrar algo errado com o conteúdo do artigo, você pode