Ansible es una herramienta de automatización popular que utilizan los administradores de sistemas y los desarrolladores para poner las computadoras en un estado específico. Los módulos de Ansible son, en cierto modo, lo que son los comandos para una computadora con Linux. Brindan soluciones a problemas específicos, y una tarea común al mantener computadoras es mantenerlas actualizadas y consistentes. En este artículo, le muestro cómo instalar paquetes de software con Ansible.
Requisitos
Para ejecutar los libros de jugadas y los comandos ad hoc de Ansible en los nodos administrados, se necesita un usuario remoto con acceso SSH en cada nodo administrado . Para este ejemplo, llamaré a ese usuario tux . Tux necesita permiso para ejecutar comandos con privilegios elevados para instalar paquetes. Por lo tanto, el archivo /etc/sudoers.d/tux
con el siguiente contenido debe existir en todos los nodos administrados:
tux ALL=(ALL) NOPASSWD:ALL
Usa visudo
para editar el /etc/sudoers
entradas del archivo.
Instalación del paquete
Supongamos que ha encontrado un nuevo paquete genial llamado sysstat
que ahora desea instalar en todos sus hosts a la vez. Ese es un trabajo fácil para Ansible:
$ ansible all --user tux --become \
--module-name dnf -a’name=sysstat state=latest’
Y tu estas listo.
[ También te puede interesar: Cómo crear un Playbook de Ansible ]
Esa línea se llama comando ad hoc de Ansible. Por lo general, estas son tareas únicas que no espera repetir. Sin embargo, en aras de la reutilización, es mejor incluir estas instrucciones en un libro de jugadas de Ansible, como este:
---
- hosts: all
tasks:
- name: Make sure the current version of ‘sysstat’ is installed.
dnf:
name: sysstat
state: latest
Guarde este libro de jugadas en un archivo llamado install_packages.yml
y luego puedes ejecutarlo con el siguiente comando:
$ ansible-playbook -u tux -b install_packages.yml
Puedes programarlo con cron
, asegurándose de que el paquete deseado se instale y vuelva a instalar si alguien lo elimina.
Instalar varios paquetes
¿Qué sucede si desea instalar una lista de paquetes en todos sus hosts? Eso también es fácil:
---
- hosts: all
tasks:
- name: Package installation
dnf:
name:
- sysstat
- httpd
- mariadb-server
state: latest
Ejecute el libro de jugadas:
$ ansible-playbook -u tux -b install_packages.yml
Estoy seguro de que entiendes la idea. ¿Necesitas más paquetes? Solo agrégalos a la lista.
Resumir
Administrar software con Ansible es bastante sencillo. Puede usar el módulo DNF para administrar la instalación real y un libro de jugadas de Ansible basado en YAML para distribuir las instrucciones de instalación a sus nodos administrados. Este es otro excelente ejemplo de cómo Ansible facilita la vida de los administradores de sistemas que administran muchos sistemas.
[ Obtenga este libro electrónico gratuito:Administrar sus clústeres de Kubernetes para principiantes. ]