Ansible - Introdução

Ansible é um mecanismo de TI simples de código aberto que automatiza a implantação de aplicativos, orquestração intra-serviço, provisionamento em nuvem e muitas outras ferramentas de TI.

O Ansible é fácil de implantar porque não usa nenhum agente ou infraestrutura de segurança personalizada.

Ansible usa um manual para descrever trabalhos de automação e um manual usa uma linguagem muito simples, ou seja, YAML(É uma linguagem de serialização de dados legível por humanos e é comumente usada para arquivos de configuração, mas pode ser usada em muitos aplicativos onde os dados estão sendo armazenados) que é muito fácil para humanos entender, ler e escrever. Portanto, a vantagem é que até mesmo os caras do suporte de infraestrutura de TI podem ler e entender o manual e depurar, se necessário (YAML - está em forma legível).

O Ansible foi projetado para implantação em várias camadas. O Ansible não gerencia um sistema por vez, ele modela a infraestrutura de TI descrevendo todos os seus sistemas estão inter-relacionados. O Ansible é completamente sem agente, o que significa que o Ansible funciona conectando seus nós por meio de ssh (por padrão). Mas se você quiser outro método de conexão como o Kerberos, o Ansible oferece essa opção para você.

Depois de se conectar aos seus nós, o Ansible empurra pequenos programas chamados de “Módulos Ansible”. O Ansible executa esses módulos em seus nós e os remove quando concluído. O Ansible gerencia seu inventário em arquivos de texto simples (esses são os arquivos hosts). O Ansible usa o arquivo de hosts onde é possível agrupar os hosts e controlar as ações em um grupo específico nos manuais.

Arquivo de Hosts de Amostra

Este é o conteúdo do arquivo hosts -

#File name: hosts
#Description: Inventory file for your application. Defines machine type abc
node to deploy specific artifacts
# Defines machine type def node to upload
metadata.

[abc-node]
#server1 ansible_host = <target machine for DU deployment> ansible_user = <Ansible
user> ansible_connection = ssh
server1 ansible_host = <your host name> ansible_user = <your unix user>
ansible_connection = ssh

[def-node]
#server2 ansible_host = <target machine for artifact upload>
ansible_user = <Ansible user> ansible_connection = ssh
server2 ansible_host = <host> ansible_user = <user> ansible_connection = ssh

O que é Gerenciamento de Configuração

O gerenciamento de configuração em termos de Ansible significa que ele mantém a configuração do desempenho do produto, mantendo um registro e atualizando informações detalhadas que descrevem o hardware e o software de uma empresa.

Essas informações geralmente incluem as versões e atualizações exatas que foram aplicadas aos pacotes de software instalados e os locais e endereços de rede dos dispositivos de hardware. Por exemplo, se você deseja instalar a nova versão doWebLogic/WebSphere servidor em todas as máquinas presentes em sua empresa, não é viável para você ir e atualizar manualmente cada máquina.

Você pode instalar o WebLogic / WebSphere de uma vez em todas as suas máquinas com os manuais e inventário da Ansible escritos da maneira mais simples. Tudo o que você precisa fazer é listar os endereços IP de seus nós no inventário e escrever um manual para instalar o WebLogic / WebSphere. Execute o manual de sua máquina de controle e ele será instalado em todos os seus nós.

Como funciona o Ansible?

A imagem abaixo mostra o funcionamento da Ansible.

Ansible works conectando-se aos seus nós e enviando pequenos programas, chamados de "Ansible módulos "para eles. Ansibleem seguida, executa esses módulos (via SSH por padrão) e os remove quando concluído. Sua biblioteca de módulos pode residir em qualquer máquina e não são necessários servidores, daemons ou bancos de dados.

O nó de gerenciamento na imagem acima é o nó de controle (nó de gerenciamento) que controla toda a execução do manual. É o nó a partir do qual você está executando a instalação. O arquivo de inventário fornece a lista de hosts onde os módulos Ansible precisam ser executados e o nó de gerenciamento faz uma conexão SSH e executa os pequenos módulos na máquina de hosts e instala o produto / software.

Beauty do Ansible é que ele remove os módulos uma vez instalados de forma tão eficaz que se conecta à máquina host, executa as instruções e, se for instalado com sucesso, remove o código que foi copiado na máquina host que foi executada.