Gestion des paquets Yum avec Ansible
Ansible offre un moyen puissant et flexible de gérer les installations et les mises à jour de paquets dans toute votre infrastructure. Dans cette section, nous allons explorer comment utiliser Ansible pour la gestion des paquets Yum sur les systèmes basés sur CentOS/RHEL.
Module Yum dans Ansible
Le module yum
intégré à Ansible vous permet d'effectuer diverses tâches de gestion de paquets, telles que l'installation, la mise à jour ou la suppression de paquets. Voici un exemple de playbook qui installe le paquet httpd
:
---
- hosts: webservers
tasks:
- name: Install Apache
yum:
name: httpd
state: present
Dans ce playbook, le module yum
est utilisé pour s'assurer que le paquet httpd
est installé sur tous les hôtes du groupe webservers
.
Mise à jour des paquets
Pour mettre à jour un paquet, vous pouvez utiliser l'option state: latest
dans le module yum
:
---
- hosts: all
tasks:
- name: Update all packages
yum:
name: "*"
state: latest
Ce playbook mettra à jour tous les paquets installés sur les nœuds gérés à leur dernière version.
Suppression de paquets
Pour supprimer un paquet, vous pouvez utiliser l'option state: absent
dans le module yum
:
---
- hosts: webservers
tasks:
- name: Remove Apache
yum:
name: httpd
state: absent
Ce playbook supprimera le paquet httpd
de tous les hôtes du groupe webservers
.
Gestion des groupes de paquets
Ansible vous permet également de gérer les groupes de paquets à l'aide du module yum
. Voici un exemple d'installation du groupe de paquets "Development Tools" :
---
- hosts: all
tasks:
- name: Install Development Tools
yum:
name: "@Development Tools"
state: present
Dans ce playbook, le symbole @
est utilisé pour spécifier que le nom du paquet fait référence à un groupe de paquets.
Gestion des dépendances de paquets
Le module yum
d'Ansible gère automatiquement les dépendances de paquets, garantissant que toutes les dépendances requises sont installées lors de l'installation d'un paquet.
---
- hosts: webservers
tasks:
- name: Install WordPress
yum:
name:
- httpd
- php
- mysql
state: present
Ce playbook installera les paquets httpd
, php
et mysql
, ainsi que leurs dépendances, sur tous les hôtes du groupe webservers
.