Cómo instalar y configurar la herramienta de automatización 'Ansible' para la administración de TI - Parte 1

Cómo instalar y configurar la herramienta de automatización 'Ansible' para la administración de TI - Parte 1

Ansible es un software de automatización de código abierto, potente para configurar, administrar e implementar aplicaciones de software en los nodos sin ningún tiempo de inactividad con solo usar SSH. Hoy, la mayoría de las herramientas de automatización de TI se ejecutan como agente en host remoto, pero Ansible solo necesita una conexión SSH y Python (2.4 o posterior) para instalarse en los nodos remotos para realizar su acción.

Instalar Ansible en Linux

Cómo funciona Ansible?

Hay muchas herramientas de automatización similar disponibles como Puppet, Capistrano, Chef, Salt, Space Walk, etc., pero Ansible se clasifica en dos tipos de servidor: controladores de máquinas y nodos.

La máquina de control, donde se instala Ansible y esta máquina de control se administra los nodos a través de SSH. La ubicación de los nodos se especifica controlando la máquina a través de su inventario.

La máquina de control (Ansible) implementa módulos en nodos utilizando el protocolo SSH y estos módulos se almacenan temporalmente en nodos remotos y se comunican con la máquina Ansible a través de una conexión JSON sobre la salida estándar.

Ansible no tiene agente, eso significa que no hay necesidad de instalación de ningún agente en nodos remotos, por lo que significa que no hay ningún daño de fondo o programas que se ejecute para Ansible, cuando no se administra ningún nodo.

Ansible puede manejar 100 nodos desde un solo sistema sobre la conexión SSH y toda la operación puede manejarse y ejecutarse mediante un solo comando 'Ansible'. Pero, en algunos casos, donde debía ejecutar múltiples comandos para una implementación, aquí podemos construir libros de jugadas.

Los libros de jugadas son un montón de comandos que pueden realizar múltiples tareas y cada libro de jugadas está en formato de archivo YAML.

¿De qué sirve ansible?

Ansible se puede usar en infraestructura de TI para administrar e implementar aplicaciones de software a nodos remotos. Por ejemplo, supongamos que necesita implementar un solo software o múltiples software a 100 de nodos mediante un solo comando, aquí ansible entra en la imagen, con la ayuda de Ansible puede implementar tantas aplicaciones a muchos nodos con un solo comando, Pero debe tener un poco de conocimiento de programación para comprender los scripts ansibles.

Hemos compilado una serie sobre Ansible, título 'Preparación para la implementación de su infraestructura de TI con la herramienta de automatización de TI Ansible', a través de las partes 1-4 y cubre los siguientes temas.

Parte 1: Cómo instalar y configurar Ansible para la administración de TI en Linux Parte 2: Cómo usar libros de jugadas anisables para automatizar tareas complejas en múltiples servidores remotos Parte 3: Cómo automatizar las implementaciones simultáneas de WordPress en múltiples servidores de Linux usando Ansible Parte 4: Administración de datos de Yamal cifrados con ansible-goult

En este artículo, le mostraremos cómo instalar 'Ansible' en Rhel/Centos 7/6, Fedora 21-19, Ubuntu 14.10-13.Sistemas 04 y Debian 7/6 y también pasaremos por algunos conceptos básicos sobre cómo administrar un servidor instalando paquetes, aplicando actualizaciones y mucho más de Basic a Pro.

Requisitos previos

  1. Sistema operativo: Rhel/Centos/Fedora y Ubuntu/Debian/Linux Mint Mint
  2. Jinja2: Un motor de plantilla moderno, rápido y fácil de usar para Python.
  3. Pyyaml: Un analizador yaml y emisor para el lenguaje de programación de Python.
  4. parmiko: Una biblioteca nativa de canal Python SSHV2.
  5. httplib2: Una biblioteca de cliente HTTP integral.
  6. sshpass: Una autenticación de contraseña SSH no interactiva.

Mi configuración de entorno

Máquina de control - Ansible
Sistema operativo: Linux Mint 17.1 Dirección IP de Rebecca: 192.168.0.254 Nombre del host: Tecmint.instrcutor.USUARIO COM: TECMINT 
Nodos remotos
Nodo 1: 192.168.0.112 Nodo 2: 192.168.0.113 Nodo 3: 192.168.0.114 

Paso 1: Instalación de la máquina de control - Ansible

1. Antes de instalar 'Ansible'En el servidor, primero verifiquemos los detalles del servidor como el nombre de host y la dirección IP. Inicie sesión en el servidor como usuario root y ejecute el siguiente comando a continuación para confirmar la configuración del sistema que vamos a usar para esta configuración.

# sudo ifconfig | grep inet 
Verificar los detalles del sistema

2. Una vez que confirma la configuración de su sistema, es hora de instalar software 'Ansible' en el sistema.

En Ubuntu/Debian/Linux Mint

Aquí vamos a usar el repositorio oficial de PPA en el sistema, simplemente ejecute los comandos a continuación para agregar el repositorio.

$ sudo apt-add-repository PPA: ansible/ansible -y $ sudo apt-get update && sudo apt-get install ansible -y 
Agregar PPA Ansible Instalar Ansible en Ubuntu
En rhel/centos/fedora

Desafortunadamente, no hay un repositorio oficial de Ansible para clones basados ​​en Redhat, pero podemos instalar Ansible habilitando el repositorio de EPEL bajo Rhel/CentOS 6, 7 y actualmente compatibles con distribuciones Fedora.

Los usuarios de Fedora pueden instalar directamente Ansible a través del repositorio predeterminado, pero si está utilizando Rhel/CentOS 6, 7, debe habilitar el repositorio de Epel.

Después de configurar el repositorio EPEL, puede instalar Ansible usando el siguiente comando.

$ sudo yum instalación ansible -y 

Después de instalar correctamente, puede verificar la versión ejecutando el siguiente comando.

# Ansible -Versión 
Verificar la versión Ansible

Paso 2: Preparación de teclas SSH para hosts remotos

4. Para realizar cualquier implementación o administración desde el Host LocalHost a Remote Host primero, debemos crear y copiar las teclas SSH al host remoto. En cada host remoto habrá una cuenta de usuario tecmenta (En su caso puede ser un usuario diferente).

Primero, creamos una tecla SSH usando el siguiente comando y copie la clave a los hosts remotos.

# ssh -keygen -t rsa -b 4096 -c "[correo electrónico protegido]" 
Crear tecla SSH

5. Después de crear la tecla SSH con éxito, ahora copie la tecla creada a los tres servidores remotos.

# SSH-Copy-ID [correo electrónico protegido] # ssh-copy-id [correo electrónico protegido] # ssh-copy-id [correo electrónico protegido] 
Copiar servidor remoto de la tecla SSH Copiar el segundo host remoto de la tecla SSH

6. Después de copiar todas las claves SSH para el host remoto, ahora realice una autenticación de la tecla SSH en todos los hosts remotos para verificar si la autenticación funciona o no.

$ ssh [correo electrónico protegido] $ ssh [correo electrónico protegido] $ ssh [correo electrónico protegido] 
Páginas de autenticación de clave SSH: 1 2