Mettre à jour les serveurs Redhat est une tâche essentielle pour maintenir la sécurité et la stabilité de votre infrastructure informatique.
Cependant, cela peut être une tâche fastidieuse et chronophage, surtout si vous devez gérer plusieurs serveurs en même temps. Heureusement, Ansible, un outil de gestion de configuration et d’automatisation, peut vous aider à simplifier ce processus.
Dans cet article, nous vous expliquerons comment mettre à jour les serveurs Redhat avec Ansible, étape par étape.
Étape 1: Configurer votre environnement Ansible
Avant de pouvoir mettre à jour vos serveurs Redhat avec Ansible, vous devez configurer votre environnement Ansible. Voici comment procéder :
– Installez Ansible sur votre machine de contrôle.
– Ajoutez les serveurs que vous souhaitez gérer à votre fichier d’inventaire Ansible.
– Créez un fichier de configuration Ansible pour définir les variables et les paramètres nécessaires.
Dans cette article nous allons voir uniquement la 3éme étape.
Étape 2: Créer un playbook Ansible
Maintenant que notre environnement Ansible est configuré, nous pouvons créer un playbook pour mettre à jour vos serveurs Redhat/CentOS. Voici un exemple de playbook que vous pouvez utiliser:
# vi update.yaml
--- - hosts: "{{servers}} remote_user: ansible become: yes gather_facts: no tasks: - name: Security update dnf: name: "*" state: latest update_cache: true - name: Bugfix update dnf: name: "*" state: latest update_cache: true
Voici l’explication du playbook :
– La première ligne ( — ) indique le début d’une liste de tâches. Le tiret indique que chaque élément est une tâche à part entière.
– « hosts » indique les serveurs cibles sur lesquels les tâches seront exécutées. La variable « {{servers}} » sera remplacée par le nom des serveurs définis dans l’inventaire Ansible ou dans la ligne de commande.
– « remote_user » indique l’utilisateur à utiliser pour la connexion distante aux serveurs cibles. Dans ce cas, « ansible » est l’utilisateur qui se connectera aux serveurs.
– « become » indique que l’utilisateur doit avoir les droits d’administration pour effectuer certaines tâches. Dans ce cas, l’utilisateur « ansible » utilisera la commande « sudo » pour obtenir les droits administratifs.
– « gather_facts » indique si Ansible doit collecter des informations sur le système cible avant d’exécuter les tâches. Dans ce cas, la valeur est « no », ce qui signifie que ces informations ne seront pas collectées.
– « tasks » contient une liste de tâches à effectuer sur les serveurs cibles :
La première tâche est nommée « Security update » et utilise le module « dnf« pour effectuer une mise à jour de sécurité de tous les packages sur les serveurs cibles. Le paramètre « state » est défini sur « latest » pour que les dernières versions des packages soient installées. La mise à jour du cache de package est activée avec le paramètre « update_cache » défini sur « true ».
La seconde tâche est nommée « Bugfix update » et utilise également le module « dnf » pour effectuer une mise à jour de bugfix de tous les packages sur les serveurs cibles. Les paramètres sont les mêmes que pour la première tâche.
Étape 3: Exécuter le playbook Ansible
Maintenant que notre playbook est prêt, lancez le avec la commande ci-dessous :
# ansible-playbook -v update.yaml -e servers=linuxvm
Linuxvm est le nom le l’ensemble des machines Linux que j’ai mis sur l’inventaire :
[linuxvm] server1 server2
How to install VNC on LinuxMint
Installation d’un certificat SSL sur un serveur Nginx
ufw : comment désactiver le pare-feu sur Ubuntu
Find : 11 Exemples pratiques pour chercher les fichiers
Fail2Ban : How to protect Linux services