Gestión de paquetes Yum con Ansible
Ansible ofrece una forma poderosa y flexible de gestionar la instalación y actualización de paquetes en toda su infraestructura. En esta sección, exploraremos cómo utilizar Ansible para la gestión de paquetes Yum en sistemas basados en CentOS/RHEL.
Módulo Yum en Ansible
El módulo yum
incorporado en Ansible le permite realizar diversas tareas de gestión de paquetes, como instalar, actualizar o eliminar paquetes. Aquí tienes un ejemplo de playbook que instala el paquete httpd
:
---
- hosts: webservers
tasks:
- name: Install Apache
yum:
name: httpd
state: present
En este playbook, se utiliza el módulo yum
para garantizar que el paquete httpd
esté instalado en todos los hosts del grupo webservers
.
Actualización de paquetes
Para actualizar un paquete, puede utilizar la opción state: latest
en el módulo yum
:
---
- hosts: all
tasks:
- name: Update all packages
yum:
name: "*"
state: latest
Este playbook actualizará todos los paquetes instalados en los nodos administrados a sus últimas versiones.
Eliminación de paquetes
Para eliminar un paquete, puede utilizar la opción state: absent
en el módulo yum
:
---
- hosts: webservers
tasks:
- name: Remove Apache
yum:
name: httpd
state: absent
Este playbook eliminará el paquete httpd
de todos los hosts del grupo webservers
.
Gestión de grupos de paquetes
Ansible también le permite gestionar grupos de paquetes utilizando el módulo yum
. Aquí tienes un ejemplo de instalación del grupo de paquetes "Development Tools":
---
- hosts: all
tasks:
- name: Install Development Tools
yum:
name: "@Development Tools"
state: present
En este playbook, se utiliza el símbolo @
para especificar que el nombre del paquete se refiere a un grupo de paquetes.
Manejo de dependencias de paquetes
El módulo yum
de Ansible gestiona automáticamente las dependencias de los paquetes, asegurando que todas las dependencias necesarias se instalen al instalar un paquete.
---
- hosts: webservers
tasks:
- name: Install WordPress
yum:
name:
- httpd
- php
- mysql
state: present
Este playbook instalará los paquetes httpd
, php
y mysql
, junto con sus dependencias, en todos los hosts del grupo webservers
.