Gerenciamento de vários computadores

Resultado de imagem para Ansible

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:

  1. Controle de acesso baseado em função
  2. APIs RESTful
  3. agendamento de tarefas
  4. gerenciamento gráfico de inventory’s
  5. Auditoria nos Logs
  6. Escalável

Figura 3 – Visão geral do Ansible Tower

Referências

[ 1 ] – http://app.engage.redhat.com/e/er?s=1795&lid=128170&elqTrackId=9174ee066a604c308ee2406d8e053567&elq=8f38a0f6aa0c4a689f4c42edd5ea31ff&elqaid=63956&elqat=1

[ 2 ] – https://docs.ansible.com/ansible/latest/user_guide/intro_getting_started.html