Table of Contents
Cómo instalar y configurar la herramienta de automatización ‘Ansible’ para la gestión de TI-Parte 1
Ansible es un poderoso 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) para ser instalado en los nodos remotos para realizar su acción.
Instalar Ansible en Linux ¿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 servidor: máquinas de control y nodos.
La máquina de control, donde Ansible está instalado y los nodos son administrados por esta máquina de control 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 controladora (Ansible) implementa módulos en los 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 un Conexión JSON sobre 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 significa que no hay demonios o programas en segundo plano que se estén ejecutando para Ansible, cuando es no administrando ningún nodo.
freestar.config.enabled_slots.push
Ansible puede manejar cientos de nodos desde 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 requirió ejecutar varios comandos para una implementación, aquí podemos crear libros de jugadas.
Los libros de jugadas son un grupo de comandos que pueden realizar múltiples tareas y cada libro de jugadas está en formato de archivo YAML.
¿Cuál es el uso de Ansible?
Ansible. se puede utilizar en la infraestructura de TI para administrar e implementar aplicaciones de software en nodos remotos. Por ejemplo, digamos que necesita implementar un solo software o software múltiple en cientos de nodos con un solo comando, aquí ansible entra en escena, con la ayuda de Ansible puede implementar tantas como aplicaciones en muchos nodos con un solo comando, pero debe 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 de 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 los manuales de Anisble para automatizar tareas complejas en múltiples servidores remotos Parte 3 : Cómo automatizar implementaciones simultáneas de WordPress en múltiples servidores Linux usando Ansible Parte 4 : Gestión de datos YAMAL cifrados con Ansible-Vault
En este artículo, le mostraremos cómo instalar ‘Ansible’ en RHEL/CentOS 7/6, F edora 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 mediante la instalación de paquetes, la aplicación de actualizaciones y mucho más, desde básico hasta profesional.
Requisitos previos
- Sistema operativo : RHEL/CentOS/Fedora y Ubuntu/Debian/Linux Mint
- Jinja2 : A motor de plantilla independiente moderno, rápido y fácil de usar para Python.
- PyYAML : Un analizador y emisor YAML para el lenguaje de programación Python.
- parmiko : una biblioteca de canales SSHv2 nativa de Python.
- httplib2 : una biblioteca cliente HTTP completa.
- sshpass : Una autenticación de contraseña ssh no interactiva.
My Environment Setup Controlling Machine-Ansible Operating System: Linux Mint 17.1 Rebecca Dirección IP: 192.168.0.254 Nombre de host: tecmint.instrcutor.com Usuario: tecmint Remote Nodos Nodo 1: 192.168.0.112 Nodo 2: 192.168.0.113 Nodo 3: 192.168.0.114
Paso 1: Instalar Controlling Machine-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 vamos a utilizar para esta configuración.
# sudo ifconfig | grep inet
Verifique los detalles del sistema
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 usar 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
Agregar Ansible PPA
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 en RHEL/CentOS 6, 7 y la distribución de fedora actualmente soportada
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 epel, puede instalar Ansible usando el siguiente comando.
$ sudo yum install ansible-y
Una vez instalado correctamente, puede verificar la versión ejecutando el siguiente comando.
# ansible–version
Verificar la versión de Ansible
Paso 2: Preparación de claves SSH para hosts remotos
4.. Para realizar cualquier implementación o administración desde el host local al host remoto, primero necesitamos crear y copiar las claves ssh al 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 protected]”
Crear clave SSH
5.. Después de crear la clave SSH correctamente, ahora copie la clave creada en los tres servidores remotos.
# ssh-copy-id [email protected] # ssh-copy-id [email protected] # ssh-copy-id [email protected]
Copiar servidor remoto de clave SSH
Copiar clave SSH Segundo host remoto
6.. Después copiando 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.