Seguimos con ansible. Esta vez, vamos a ver los adhoc, que nos van a permitir realizar acciones de forma simple, rapida y comprobar la conexión a los elementos de inventario.
Con este post, voy a intentar haceros comprender los principios básicos que ansible puede antes de meternos con los playbooks.
En términos generales, el verdadero poder de ansible reside en los playbooks.
¿Por qué usarías tareas adhoc ves playbooks?
Por ejemplo, si quisiera apagar todo nuestro cpd, por una avería de luz podría ejecutar un comando rapido en ansible sin utilizar los playbooks.
Sin embargo, para la administración de la configuración y las implementaciones usaremos playbook’.
Otro ejemplo de adhoc seria copiar un fichero.
ansible –i ./vmware.py all –u usuario –m copy –a “src=/etc/hosts dest=/etc/hosts” –become
Esto va a copiar el fichero hosts de la maquina local a todas las máquinas de inventario.
Otro ejemplo es instalar un programa, usando el –m yum (estamos en centos). También vamos a acortar el become con un -b:
ansible –i ./vmware.py all –b –u usuario –m yum –a “name=apache2 state=present”
Si quisiéramos desinstalarlo usariamos en state=absent
Otra opción muy útil es –list-hosts, esto nos hace un lista de nuestros servidores inventariados, muy útil si queremos ver donde se va a aplicar el comando lanzado.
ansible –i ./vmware.py all –list-hosts
O podemos lanzarlo en un solo servidor
ansible –limit CENTOS –i ./vmware.py all –b –u usuario –m yum –a “name=apache2 state=present”
Otro ejemplo, si queremos comprobar si hay algún problema antes de instalar en ese servidor usaríamos la opción –C
ansible –limit CENTOS –i ./vmware.py all –b –u usuario –m yum –C –a “name=apache2 state=present”
Pero si aun así queremos más información usuario la opción –v, por ejemplo nos diría que versión de apache se ha instalado.
ansible –limit CENTOS –i ./vmware.py all –v –b –u usuario –m yum –C –a “name=apache2 state=present”
Que queremos más información aun pues ponemos 5 v. Es decir, algo así:
ansible –limit CENTOS –i ./vmware.py all –vvvvv –b –u usuario –m yum –C –a “name=apache2 state=present”
Espero que os sirva