
O que é o projeto Ansible?
O projeto Ansible é uma ferramenta open source de gerenciamento de aplicações, deploys e automação de tarefas, podendo controlar milhares de máquinas de uma só vez. Ideal para tarefas repetitivas e simplificação de complexas estruturas, fazendo assim seu time ganhar mais foco e produtividade. Sendo sua curva de aprendizado muito menor para qualquer tipo de pessoa, seja ela administradora de redes, programadores e novos usuários. Ocorrendo de ser simples, poderoso e ágil você poderá começar a configurar suas aplicações escalonadamente de forma rápida e segura.
Sua estrutura
O Ansible usa PlayBooks (Figura 1) para descrever seus trabalhos (jobs) ou seja os comandos (plays) de configuração das máquinas (exemplo, instalar o servidor apache em todas elas), onde cada um desses plays existe uma tarefa (tasks) a ser cumprida , esses PlayBooks geralmente são escritos com uma linguagem de programação muito simples, chamada de YAML na qual é uma linguagem de serialização de dados legíveis para os seres humanos. Um exemplo de código YAML pode ser visto no Código 1.
--- # Em Bloco
nome: Pedro
idade: 23
--- # Em linha
{nome: Pedro, idade: 23}
Código 1 – Vetores Associativos
Figura 1 – Exemplo de PlayBook
Uma vantagem do Ansible é que ele não precisa estar conectado nas máquinas (nós) em que você quer configurar, pois ele conecta usando somente o ssh. Depois de conectar com os nós ele envia pequenos programas chamados “Ansible Modules” para executar determinadas tarefas que você queira.
Um outro arquivo importante é o inventário (Inventory) um arquivo de texto simples(Código 2) onde existe os hosts disponíveis (endereços dos nós), na qual poderá agrupar esses nós por nomes para um melhor gerenciamento. Uma visão geral do programa é apresentado na Figura 2.
[webservers]
foo.example.com
bar.example.com
[dbservers]
one.example.com
two.example.com
three.example.com
Código 2 – Exemplo de Inventory contendo dois grupos, um grupo de servidores web e outro de servidores de banco de dados.
Figura 2 – Visão Geral do Ansible
O ansible tem o suporte para o encapsulamento de PlayBooks, o que é transformado em uma regra (Role), essas roles podem ser usadas em diferentes contextos e cenários, podendo ser compartilhadas em uma espécie de rede social chamada Ansible Galaxy, na qual contém milhares de roles feitas por usuários que podem ser baixadas e customizadas para fazer os seus próprios Playbooks.
Instalação
Para fazer a instalação do Ansible no Ubuntu, basta digitar os seguintes comandos:
APT-UBUNTU:
$ sudo apt update
$ sudo apt install software-properties-common
$ sudo apt-add-repository --yes --update ppa:ansible/ansible
$ sudo apt install ansible
YUM:
$ sudo yum install ansible
PKG:
$ sudo pkg install ansible
Feito isso você já terá instalado o programa.
Ansible Tower
O Ansible Tower é um painel de gerenciamento com interface gráfica (Figura 3) onde contém uma série de funcionalidades, dentre elas:
- Controle de acesso baseado em função
- APIs RESTful
- agendamento de tarefas
- gerenciamento gráfico de inventory’s
- Auditoria nos Logs
- Escalável
Figura 3 – Visão geral do Ansible Tower
Referências
[ 2 ] – https://docs.ansible.com/ansible/latest/user_guide/intro_getting_started.html