Chuleta 01 Comandos útiles con ansible
Después de media vida lanzado comandos con más o menos grado de automatización / orquestación en servidores te cruzas con Ansible y te das cuenta de la cantidad de tiempo que te hace ganar, el control que tienes sobre tu entorno desde un nodo de bastionado, etc. son todo ventajas, pese a la complejidad que puedan tomar algunos playbooks / tasks si eres un poco maniático como yo.
Aquí van unas cuantas líneas de comando a modo de habituales que me gusta tener a mano.
Comprobar que tenemos conexión con todos los nodos:
ansible all -i inventario.yml -m ping -o
Reiniciar todas las máquinas de nuestro inventario:
ansible all -i inventario.yml -b -B 1 -P 0 -m shell -a "sleep 5 && reboot"
Parar/arrancar un servicio:
ansible all -i inventario.yml -m systemd -a "service=docker state=\[stopped|started\]"
Copiar ficheros:
ansible all -i inventario.yml -m copy -a "src=/<fichero\_origen> dest=/<fichero\_destino>"
Borrar ficheros:
ansible all -i inventario.yml -m file -a "dest=/etc/sysconfig/docker-storage state=absent"
Conocer la configuración (soft/hard) de los nodos, y filtrado de resultados:
ansible localhost -m setup
ansible localhost -m setup -a 'filter=ansible\_processor\*'
Listar todos los nodos del inventario:
ansible all --list-hosts
Instalar paquetes con Yum:
ansible webservers -m yum -a "name=httpd state=present" -b -o
Desinstalar paquetes con Yum:
ansible webservers -m yum -a "name=httpd state=absent" -b -o
(*) en estos dos últimos ejemplos usamos -b (--become) para que se utilize la configuración de ansible.cfg relativa al escalado de privilegios con el que se ejecutarán los comandos en destino.
Actualizar todos los paquetes de las maquinas:
ansible all -i inventario.yml -m yum -a "name=\* state=latest"
Chequear sintaxis de PlayBook:
ansible-playbook --syntax-check install\_apache.yml
Continuará...