Búsqueda de sitios web

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


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

¿Cómo funciona Ansible?

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

La máquina controladora, donde está instalado Ansible y los nodos son administrados por esta máquina controladora 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 a través de la salida estándar.

Ansible no tiene agentes, lo que significa que no es necesario instalar ningún agente en nodos remotos, por lo que no hay demonios en segundo plano ni programas ejecutándose para Ansible, cuando no está administrando ningún nodo.

Ansible puede manejar cientos de nodos de un solo sistema a través de una conexión SSH y toda la operación se puede manejar y ejecutar con un solo comando "ansible". Pero, en algunos casos, donde sea necesario ejecutar varios comandos para una implementación, aquí podemos crear guías.

Los libros de estrategias son un conjunto de comandos que pueden realizar múltiples tareas y cada uno de ellos está en formato de archivo YAML.

¿Para qué sirve Ansible?

Ansible se puede utilizar en infraestructura de TI para administrar e implementar aplicaciones de software en nodos remotos. Por ejemplo, digamos que necesita implementar un solo software o varios software en cientos de nodos con un solo comando, aquí entra en escena ansible, con la ayuda de Ansible puede implementar tantas aplicaciones como sea posible en muchos nodos con un solo comando. pero debes tener un poco de conocimiento de programación para comprender los scripts ansible.

Hemos compilado una serie sobre Ansible, titulada "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 a 4 y cubre los siguientes temas.

En este artículo, le mostraremos cómo instalar 'Ansible' en los sistemas RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 y Debian 7/6 y también repasaremos algunos conceptos básicos sobre cómo administrar un servidor instalando paquetes, aplicando actualizaciones y mucho más, desde básico hasta profesional.

Requisitos previos

  1. Sistema operativo: RHEL/CentOS/Fedora y Ubuntu/Debian/Linux Mint
  2. Jinja2: un motor de plantillas independiente moderno, rápido y fácil de usar para Python.
  3. PyYAML: analizador y emisor YAML para el lenguaje de programación Python.
  4. parmiko: una biblioteca de canales SSHv2 nativa de Python.
  5. httplib2: una completa biblioteca cliente HTTP.
  6. sshpass: autenticación de contraseña ssh no interactiva.

Configuración de mi entorno

Máquina de control – Ansible
Operating System :	Linux Mint 17.1 Rebecca
IP Address	 :	192.168.0.254
Host-name	 :	tecmint.instrcutor.com
User		 :	tecmint
Nodos remotos
Node 1: 192.168.0.112
Node 2: 192.168.0.113
Node 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 para confirmar la configuración del sistema que usaremos para esta configuración.

sudo ifconfig | grep inet

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

En Ubuntu/Debian/Linux Mint

Aquí vamos a utilizar el repositorio oficial de Ansible PPA en el sistema, simplemente ejecute los siguientes comandos para agregar el repositorio.

sudo apt-add-repository ppa:ansible/ansible -y
sudo apt-get update && sudo apt-get install ansible -y

En RHEL/CentOS/Fedora

Desafortunadamente, no existe un repositorio oficial de Ansible para clones basados en RedHat, pero podemos instalar Ansible habilitando el repositorio epel en RHEL/CentOS 6, 7 y las distribuciones de Fedora actualmente compatibles.

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

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

sudo yum install ansible -y

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

ansible --version

Paso 2: Preparar claves SSH para hosts remotos

4. Para realizar cualquier implementación o administración desde el host local al host remoto, primero debemos crear y copiar las claves ssh en el host remoto. En cada host remoto habrá una cuenta de usuario tecmint (en su caso puede ser un usuario diferente).

Primero, creemos una clave SSH usando el siguiente comando y copiemos la clave a hosts remotos.

ssh-keygen -t rsa -b 4096 -C "[email "

5. Después de crear la clave SSH correctamente, ahora copie la clave creada en los tres servidores remotos.

ssh-copy-id [email 
ssh-copy-id [email 
ssh-copy-id [email 

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

ssh [email 
ssh [email 
ssh [email