Instalar Ansible en Centos 7
Si habéis descargado el ebook gratuito VMware por vExperts, habréis visto que existe un capítulo creado por Miquel Mariano, que habla de Ansible. Hoy quiero explicaros, aunque ya está en el libro, como instalarlo bajo Centos 7 y unas primeras pinceladas para alguien que como yo le gusta investigar y trabajar con nuevas tecnologías.
Lo primero que haremos es hacer una introducción a lo que es Ansible e intentaremos mostrar varios ejemplos que poder utilizar.
Ansible es una herramienta que nos permite el manejo de configuraciones y despliegue de aplicaciones de manera sencilla. Nos permite lanzar automatismos (configuraciones, instalaciones, monitorizaciones,…) que de otra forma supondrían más esfuerzo.
Esta plataforma de código abierto fue creada por Michael DeHaan como startup en 2013 y fue adquirida por RedHat a finales de 2015. Es una de las herramientas de orquestación más populares actualmente y está creciendo día a día.
Conceptos y términos básicos de Ansible
Os dejo algunos de los términos básicos sobre Ansible:
- Playbooks: escritos en ficheros YAML sirven para la automatización de acciones.
- Host: máquina remota que se asigna a variables y agrupaciones de objetos por IP o nombre.
- Task: introducción en los playbooks que generan acciones.
- Facts: información de los clientes.
- Group: varios hosts.
- Roles: agrupación de tareas, plantillas y ficheros.
- Inventory: datos de los clientes.
- APIs: medios de transporte para conexiones clouds.
- Modules: librerías que se copian en los clientes para controlar comandos, ficheros,…
- Plugins: complementos adicionales para escribir código rápidamente.
Configuración Ansible en Centos 7
Lo primero que necesitaremos es acceso al repo de Epel:
1 |
yum install epel-release |
Para realizar la instalación lanzamos el siguiente comando:
1 |
yum install ansible |
Veréis que tiene varias dependencias cómo python:
Una vez instalado, comprobamos la versión:
1 |
ansible --version |
Con esto ya tenemos instalado Ansible.
Probar Ansible en Centos 7
Ahora vamos a hacer una pequeña prueba. Por ejemplo, un ping a un listado de servidores o páginas web.
Primero generamos una key de ssh:
1 |
ssh-keygen |
Copiamos la clave ssh id de los hosts:
1 |
ssh-copy-id root@192.168.2.20 |
Las configuraciones de Ansible están en:
1 |
/etc/ansible/ansible.cfg |
Ahora editamos el fichero hosts de Ansible:
1 |
vi /etc/ansible/hosts |
Y agregamos los servidores:
Y lanzamos una prueba mediante el siguiente comando:
1 |
ansible -m ping all |
Podéis probar a apagar una máquina y volverlo a lanzar:
YAML en Ansible para PING
Podemos hacer un fichero YML para hacer lo mismo:
vi ping-ansible.yml
---
- hosts: all
gather_facts: false
tasks:
- ping:
Para ejecutarlo usaremos:
ansible-playbook ping-ansible.yml
Seguiremos jugando con Ansible bajo linux.
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?
Tus huevos.