Como instalar e configurar a ferramenta de automação 'Ansible' para gerenciamento de TI - Parte 1

Como instalar e configurar a ferramenta de automação 'Ansible' para gerenciamento de TI - Parte 1

Ansible é um software de automação poderoso e de código aberto para configurar, gerenciar e implantar aplicativos de software nos nós sem tempo de inatividade apenas usando SSH. Hoje, a maioria das ferramentas de automação de TI é executada como um agente no host remoto, mas o Ansible só precisa de uma conexão SSH e Python (2.4 ou posterior) a ser instalado nos nós remotos para executar sua ação.

Instale Ansible no Linux

Como funciona Ansible?

Existem muitas ferramentas de automação semelhantes disponíveis, como fantoche, capistrano, chef, sal, caminhada espacial, etc.

A máquina de controle, onde Ansible é instalada e os nós são gerenciados por esta máquina de controle sobre SSH. A localização dos nós é especificada pelo controle da máquina por meio de seu inventário.

A máquina de controle (Ansible) implanta módulos em nós usando o protocolo SSH e esses módulos são armazenados temporariamente em nós remotos e se comunica com a máquina Ansible através de uma conexão JSON sobre a saída padrão.

Ansible não tem agente, isso significa que não há necessidade de instalação de agente em nós remotos, por isso significa que não há daemons ou programas de fundo que estão executando para Ansible, quando não está gerenciando nenhum nós.

A Ansible pode lidar com 100 dos nós de um único sistema sobre a conexão SSH e toda a operação pode ser manuseada e executada por um único comando 'Ansible'. Mas, em alguns casos, onde você precisava executar vários comandos para uma implantação, aqui podemos criar playbooks.

Playbooks são um monte de comandos que podem executar várias tarefas e cada manual está em formato de arquivo YAML.

Qual é o uso de Ansible

Ansible pode ser usado na infraestrutura de TI para gerenciar e implantar aplicativos de software em nós remotos. Por exemplo, digamos que você precise implantar um único software ou vários softwares a 100 dos nós por um único comando, aqui o Ansible entra em cena, com a ajuda do Ansible, você pode implantar o máximo de aplicativos para muitos nós com um único comando, Mas você deve ter um pouco de conhecimento de programação para entender os scripts Ansible.

Nós compilamos uma série em Ansible, título 'Preparação para a implantação da sua infraestrutura de TI com ferramenta de automação de TI Ansible', através das partes 1-4 e abrange os seguintes tópicos.

Parte 1: Como instalar e configurar o Ansible para gerenciamento de TI no Linux Parte 2: Como usar os manuais Anisble para automatizar tarefas complexas em vários servidores remotos Parte 3: Como automatizar implantações simultâneas do WordPress em vários servidores Linux usando Ansible Parte 4: Gerenciando dados Yamal criptografados com Ansible-Vault

Neste artigo, mostraremos como instalar 'Ansible' no Rhel/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 e Sistemas Debian 7/6 e também passaremos por alguns conceitos básicos sobre como gerenciar um servidor instalando pacotes, aplicando atualizações e muito mais do BASIC para o PRO.

Pré -requisitos

  1. Sistema operacional: Rhel/Centos/Fedora e Ubuntu/Debian/Linux Mint
  2. Jinja2: Um motor moderno, rápido e fácil de usar o modelo independente para Python.
  3. Pyyaml: Um analisador YAML e emissor para a linguagem de programação Python.
  4. Parmiko: Uma biblioteca de canais nativos do Python SSHV2.
  5. httplib2: Uma biblioteca de clientes HTTP abrangente.
  6. sshpass: Uma autenticação de senha SSH não interativa.

Minha configuração de ambiente

Máquina de controle - Ansible
Sistema operacional: Linux Mint 17.1 Endereço IP de Rebecca: 192.168.0.254 Nome do host: Tecmint.Instrcutor.com usuário: Tecmint 
Nós remotos
Nó 1: 192.168.0.112 Nó 2: 192.168.0.113 Nó 3: 192.168.0.114 

Etapa 1: Instalando a Máquina de Controle - Ansible

1. Antes de instalar 'Ansible'No servidor, vamos primeiro verificar os detalhes do servidor como o nome do host e o endereço IP. Faça login no servidor como usuário root e execute o comando abaixo para confirmar as configurações do sistema que vamos usar para esta configuração.

# sudo ifconfig | Grep INET 
Verifique os detalhes do sistema

2. Depois de confirmar as configurações do seu sistema, é hora de instalar o software 'Ansible' no sistema.

No Ubuntu/Debian/Linux Mint

Aqui vamos usar o repositório Official Ansible PPA no sistema, basta executar os comandos abaixo para adicionar o repositório.

$ sudo apt-add-repositório PPA: Ansible/Ansible -y $ sudo apt-get update && sudo apt-get install Ansible -y 
Adicione PPA Ansible Instale Ansible no Ubuntu
Em RHEL/CENTOS/FEDORA

Infelizmente, não há repositório oficial para clones baseados em redhat, mas podemos instalar o Ansible, permitindo o repositório EPEL sob Rhel/Centos 6, 7 e atualmente apoiado Distribuições do Fedora.

Os usuários do Fedora podem instalar diretamente o Ansible através do repositório padrão, mas se você estiver usando o RHEL/CENTOS 6, 7, precisará ativar o repositório EPEL.

Depois de configurar o repositório EPEL, você pode instalar Ansible usando o seguinte comando.

$ sudo yum installible -y 

Depois de instalado com sucesso, você pode verificar a versão executando o comando abaixo.

# Ansible --version 
Verifique a versão Ansible

Etapa 2: Preparando chaves SSH para hosts remotos

4. Para executar qualquer implantação ou gerenciamento do host de localhost para o host remoto primeiro, precisamos criar e copiar as teclas SSH para o host remoto. Em todos os hosts remotos, haverá uma conta de usuário Tecmint (No seu caso, pode ser um usuário diferente).

Primeiro, vamos criar uma chave SSH usando o comando abaixo e copie a chave para hosts remotos.

# ssh -keygen -t rsa -b 4096 -c "[email protegido]" 
Crie a chave SSH

5. Depois de criar a chave SSH com sucesso, agora copie a chave criada para todos os três servidores remotos.

# ssh-copy-id [email protegido] # ssh-copy-id [email protegido] # ssh-copy-id [email protegido] 
Copie o servidor remoto de chave SSH Copie o segundo host remoto da chave SSH

6. Depois de copiar todas as teclas SSH para o host remoto, agora execute uma autenticação de chave SSH em todos os hosts remotos para verificar se a autenticação está funcionando ou não.

$ ssh [email protegido] $ ssh [email protegido] $ ssh [email protegido] 
Páginas de autenticação de chave SSH: 1 2