Cómo ejecutar una actualización de apt-get en Ansible

Cómo ejecutar una actualización de apt-get en Ansible

En mi flujo de trabajo diario, trabajo con muchos sistemas de Linux remotos, la mayoría de los cuales están basados ​​en Debian.

Puedo decirle abiertamente que a veces, se vuelve muy agotador SSH en todas las máquinas, hacer una actualización de apto y luego verificar si hay actualizaciones e instalarlas. Incluso con inicios de sesión SSH sin contraseña, todavía lleva una inmensa cantidad de tiempo.

Después de preguntarme constantemente, "¿Cómo puedo automatizar este proceso??"Encontré Ansible!

Para este tutorial, le mostraré cómo utilizar esta poderosa herramienta de automatización para actualizar todos sus sistemas remotos usando APT. Mantenerse actualizado y aplicar todos los parches a su sistema ayudará a mantener su sistema seguro.

Que es ansible?

Ansible es una poderosa herramienta de automatización que le permite configurar y administrar de forma remota y automáticamente los sistemas. Además, ofrece características convincentes, como instalar software de forma remota, reversiones en caso de errores, copias de seguridad, descargas remotas y muchos más.

Ansible también es muy fácil de usar. Utiliza archivos YAML que son fáciles de escribir y altamente legibles, y un alto nivel de seguridad, ya que utiliza SSH para iniciar sesión y administrar sistemas.

Administrar más de un sistema de una sola herramienta es más que triunfante, y cualquier administrador del sistema debe estar familiarizado si no está utilizando Ansible.

Instalación de Ansible

Con las alabanzas de Ansible fuera del camino, veamos la instalación de Ansible en nuestra máquina local para administrar los servidores remotos.

Para este tutorial, usaré Ubuntu 20.10 Como mi máquina local. Para aprender a instalar Ansible en otros sistemas, consulte la documentación.

En Ubuntu, usa los comandos:

Actualización de sudo apto
sudo apt instalar software-properties-common
Sudo Add-APP-Repository-Yes-Update PPA: Ansible/Ansible
sudo apt install ansible

Ansible agregar hosts

Si no está familiarizado con Ansible, el primer paso es construir un inventario de las máquinas remotas que desea automatizar. Puede hacer esto editando el/etc/ansible/hosts.

Para agregar los servidores Debian, ingrese las entradas como:

[Debian]
192.168.0.13

Puede pasar la dirección IP del host remoto o usar el nombre de host de la máquina.

Una vez que tenemos la lista de hosts para administrar en el archivo de configuración, podemos continuar y automatizar las actualizaciones.

Actualizar usando el módulo APT

Para actualizar y administrar paquetes de forma remota en máquinas basadas en Debian, utilizamos el módulo APT proporcionado por Ansible. El módulo APT nos permite administrar paquetes APT con otras configuraciones.

Actualizar caché del repositorio
Para actualizar el caché del repositorio usando Ansible, podemos usar un libro de jugadas como se proporciona a continuación:

---
- Anfitriones: Debian
convertirse en: si
convertirse en_method: sudo
tareas:
- Nombre: "Actualización del caché del repositorio"
apto:
update_cache: verdadero
cache_valid_time: 3600
Force_apt_get: verdadero

Guarde el archivo y ejecute usando el comando como:

Ansible-Playbook --User = Debian Apt.yaml

Esto ejecutará el libro de jugadas y ejecutará las tareas especificadas. La salida es como se muestra a continuación:

En el libro de jugadas Ansible, comenzamos especificando a los anfitriones. En este caso, solo queremos a los anfitriones Debian.

A continuación, lo establecemos para que se convierta en verdad, permitiendo al usuario elevar los privilegios usando sudo como se especifica en el beve_method.

Finalmente, establecemos las tareas para actualizar el caché del repositorio. También establecemos un cache_valid_time como 3600 que actualiza el caché si es más antiguo que el tiempo dicho.

NOTA: Use force_apt-get en lugar de aptitud.

Actualizar todos los paquetes
También podemos actualizar todos los paquetes del sistema que corresponde al comando:

sudo apt-get Dist-Upgrade

Para hacer esto usando Ansible Playbook, agregamos el archivo YAML como:

---
- Anfitriones: todos
convertirse en: si
convertirse en_method: sudo
tareas:
- Nombre: "Actualización de caché y actualización completa del sistema"
apto:
update_cache: verdadero
Actualización: DIST
cache_valid_time: 3600
Force_apt_get: verdadero

Del mismo modo, ejecute el libro de jugadas Ansible arriba, como se muestra en el primer comando.

Conclusión

En este tutorial, rápidamente repasamos qué es Ansible, lo que ofrece y cómo podemos usar sus módulos para realizar una actualización del sistema sobre el sistema basado en Debian.

Gracias y feliz automatización