Get it on Google Play

Formación Ansible: Instalación y primeros pasos

23-06-2017
 
Ansible - Automation

Ansible – Automation

Ansible es una plataforma para automatización IT super simple para hacer que el proceso de ‘deploy’ sea super fácil para tus aplicaciones y sistemas. Con esta herramienta será muy fácil montar-te tus entornos de integración continua(CI) para tus aplicaciones Liferay(O lo que sea).

Instalación

En las últimas versiones de Ubuntu es tan fácil como instalarlo directamente desde tus repositorios:

sudo apt-get install ansible

Con una sola instrucción basta.

Configurando el inventario de servidores en Ansible

Ansible trabaja con un inventario de servidores. Este inventario se configura en el fichero(Créalo si no existe) ‘/etc/ansible/hosts’ y tiene la siguiente forma:

[desarrollo]
192.168.15.1
192.168.15.2

[preproduccion]
192.168.18.1
192.168.18.2

[produccion]
192.168.20.1
192.168.20.2

Tal como se ve es un listado de IPs que se agrupan, por ejemplo, aquí el grupo de servidores ‘desarrollo’ tiene los servidores 192.168.15.1 y 192.168.15.2.

Configurando los certificados de seguridad

Ansible se comunica con los otros servidores vía SSH y un certificado de seguridad. Ahora toca crear este certificado de seguridad:

ssh-keygen

Después tendremos que copia el certificado de seguridad a los distintos servidores:

ssh-copy-id 192.168.15.1

Esto nos pedirá el usuario SSH del servidor y copiará el certificado. Una vez todo instalado y configurado podemos probar de hacer un ping, a ver si funciona:

ansible all -m ping

Ejecutando comandos Ansible

Ahora que ya tenemos todo instalado y configurado ya podemos empezar a ejecutar comandos. La sintaxis de Ansible es la siguiente:

ansible  <servidor/grupo/pattern> -m <módulo> -a <argumentos>

De esta manera podemos ejecutar cantidad de cosas:

# Reiniciar el servicio httpd en los servidores de  preproduccion
ansible preproduccion -m service -a "name=httpd state=restarted"

# Eliminar el usuario 'albert' en todos los servidores
ansible all -m user -a "name=albert state=absent"

# Copiar el fichero 'hola.txt' a los servidores de 'preproduccion' y 'produccion'
ansible preproduccion:produccion -m copy -a "src=/home/hola.txt dest=/opt/hola.txt"

# Ejecutar '/bin/echo hello' en el servidor '192.168.15.1'. Si no ponemos módulo interpreta que el módulo es 'shell'
ansible 192.168.15.1 -m shell -a "/bin/echo hello"
ansible 192.168.15.1 -a "/bin/echo hello"

En fin, así de fácil es montarte un sistema automatizado con Ansible, tenéis la documentación completa aquí http://docs.ansible.com/ . Un sueño de la integración continua!!!! 😀 . Buen fin de semana.

Interesado en formación Liferay?

 

Leave a Reply

© Albert Coronado Calzada