Utilisation d'Ansible pour la mise à jour de CentOS RedHat : Simplifiez la gestion de vos serveurs !
Ansible est un outil open source d'automatisation, d'orchestration et de configuration automatique. Il permet de provisionner des machines virtuelles, des réseaux et des infrastructures cloud. Il offre de nombreux modules pour automatiser les tâches. Pour commencer, nous allons installer Ansible sur CentOS.
Pour l'installation d'Ansible, vous pouvez utiliser un script shell disponible sur GitHub appelé install-ansible.sh. Ce script facilite l'installation d'Ansible en installant toutes les dépendances nécessaires.
Préparation de l'environnement avec 3 VMs
Avant de pouvoir utiliser Ansible, nous devons préparer notre environnement avec trois machines virtuelles (VM) : une machine Ansible, un serveur web et un serveur de base de données. Ces VM nous permettront de tester notre configuration Ansible.
Ansible utilise SSH pour se connecter aux machines cibles. L'authentification basée sur les clés SSH est utilisée pour permettre à Ansible de se connecter sans mot de passe. Nous allons donc commencer par générer une paire de clés SSH sur notre machine Ansible.
Une fois la paire de clés SSH générée, nous devons accepter les clés SSH publiques des machines cibles. Cela permettra à Ansible de se connecter aux machines cibles sans avoir à saisir le mot de passe à chaque fois.
Pour envoyer la clé SSH publique de la machine Ansible vers les machines cibles, nous pouvons utiliser la commande suivante :
ssh-copy-id @
Nous devons également créer un fichier ansible.cfg pour gérer nos projets Ansible. Ce fichier contient des paramètres de configuration tels que la localisation de l'inventaire, le chemin vers les rôles Ansible, etc.
Le fichier inventory.ini est utilisé pour déclarer les adresses IP ou les FQDN (Fully Qualified Domain Names) des machines cibles.
Création d'un playbook Ansible
Un playbook Ansible est un fichier YAML contenant les tâches à exécuter sur les machines cibles. Nous allons créer un playbook pour mettre à jour les machines CentOS / Red Hat.
Voici un exemple de playbook Ansible pour mettre à jour les machines CentOS / Red Hat :
yaml
- name: Mise à jour des machines CentOS / Red Hat
hosts: all
become: true
tasks:
- name: Vérifier si la mise à jour est disponible
command: yum check-update
register: update_available
changed_when: update_available.stdout != ""
failed_when: false- name: Mettre à jour les packages
command: yum update -y
when: update_available.changedCe playbook vérifie d'abord si des mises à jour sont disponibles en exécutant la commande "yum check-update". Si des mises à jour sont disponibles, il exécute ensuite la commande "yum update -y" pour mettre à jour les packages.
Déploiement de l'agent WAPT Linux avec Ansible
Nous pouvons également utiliser Ansible pour déployer l'agent WAPT sur des postes Debian Linux ou CentOS. Pour cela, nous allons utiliser des rôles Ansible.
Voici les étapes pour déployer l'agent WAPT Linux avec Ansible :
- Installer le rôle Ansible tranquilit.waptagent en utilisant la commande suivante :
ansible-galaxy install tranquilit.waptagent
- Utiliser une clé SSH déployée sur les postes ou en générer une et la copier.
- Éditer le fichier d'inventaire Ansible et ajouter les hôtes Linux.
- Créer un playbook deploywaptagent.yml avec le rôle tranquilit.waptagent.
- Renseigner correctement les variables dans le playbook, telles que wapt_server_url, wapt_repo_url, wapt_crt.
- Lancer le playbook avec la commande ansible-playbook.
Voici un exemple de playbook Ansible pour déployer l'agent WAPT Linux :
yaml
- name: Déploiement de l'agent WAPT Linux
hosts: all
become: true
roles:
- tranquilit.waptagent
vars:
wapt_server_url: "https://wapt.example.com"
wapt_repo_url: "https://repo.example.com"
wapt_crt: "/path/to/wapt.crt"
Ce playbook utilise le rôle tranquilit.waptagent pour installer l'agent WAPT sur les postes cibles. Les variables wapt_server_url, wapt_repo_url et wapt_crt sont renseignées pour spécifier l'URL du serveur WAPT, l'URL du dépôt WAPT et le chemin vers le fichier de certificat WAPT.
Configuration de l'environnement Ansible
Pour utiliser Ansible, nous avons besoin de deux types de machines : la machine de contrôle et la machine esclave.
La machine de contrôle est la machine à partir de laquelle nous exécutons les tâches Ansible. Elle doit disposer de Python 2 (version 2.7) ou Python 3 (version 3.5 et supérieures) et ne prend pas en charge Windows. Il est recommandé d'exécuter Ansible à proximité des machines gérées.
L'installation d'Ansible peut être effectuée de différentes manières en fonction du système d'exploitation. Par exemple, sur Ubuntu, vous pouvez mettre à jour les dépôts APT, installer software-properties-common, ajouter le référentiel Ansible et installer Ansible avec apt. Sur RHEL, CentOS ou Fedora, vous pouvez installer Ansible avec yum. Vous pouvez également l'installer depuis pip en installant d'abord pip, puis en installant Ansible avec pip.
Pour les machines esclaves, elles doivent avoir une communication SSH et disposer de Python 2 (version 2.6 ou supérieure) ou Python 3 (version 3.5 ou supérieure). Vous pouvez utiliser Vagrant pour provisionner les machines esclaves. Il suffit d'installer Vagrant selon le système d'exploitation, de configurer le fichier Vagrantfile pour décrire les machines esclaves et de les personnaliser si nécessaire. Ensuite, vous pouvez provisionner les machines esclaves en utilisant la commande "vagrant up".
En conclusion, Ansible est un outil puissant pour automatiser la gestion et la configuration des machines. Il est facile à utiliser et offre de nombreuses fonctionnalités pour simplifier les tâches d'administration système. En utilisant Ansible, vous pouvez mettre à jour CentOS / Red Hat de manière efficace et automatisée, tout en assurant une infrastructure complète et stable.
Laisser un commentaire