Aller au contenu principal

Présentation d'Ansible

Orchestrez vos machines comme un chef d'orchestre !

Introduction à la gestion de configuration et à l'automatisation avec Ansible.

ansible_logo.png

info

Ansible est un outil puissant qui permet de gérer la configuration de serveurs et d'applications de manière automatisée.

ansible_schema.png

Objectifs de ce tutoriel

  • Créer une infrastructure avec plusieurs conteneurs hébergeant des sites Web.
  • Installer et configurer automatiquement Apache à distance
  • Déployer 3 sites Web sur 3 noeuds à partir d'un seul poste à l'aide d'Ansible qui permet une installation et une configuration automatisées.


Notions théoriques

Ansible utilise le langage YAML pour ses configurations, ce qui les rend faciles à lire et à écrire.

  • Ansible fonctionne sur un mode "push", ce qui signifie que vous envoyez les configurations depuis votre poste de contrôle vers les serveurs cibles.

  • Ansible se connecte via SSH, donc il n'y a pas besoin d'installer un agent sur les serveurs que vous gérez.

info

C'est comme si vous pouviez télécommander vos serveurs avec une connexion sécurisée.


Exemple pratique

astuce
  • Nous avons vu qu'Ansible permet de gérer de nombreuses machines à partir d'un seul poste.
  • Pour s'entrainer avec plusieurs machines, je vous propose de créer des conteneurs Docker.
  • Et pour limiter la création de multiples VM, nous allons utiliser Docker sous Windows .
  • En effet, l'utilisation de Docker à la place de Proxmox va nous permettre d'installer plusieurs serveurs plus rapidement sans nécessité la création de plusieurs VM.

Donc pour commencer ce tutoriel, nous allons installer "Docker Desktop" sur Windows.

Voici les étapes pour installer "Docker Desktop" sur Windows :

  1. Téléchargez "Docker Desktop" depuis le site officiel et suivez les instructions d'installation.
  2. Une fois installé, ouvrez "Docker Desktop" pour voir l'interface graphique qui montre les conteneurs en cours d'exécution.

Test de mémorisation/compréhension


Quel est le mode de communication utilisé par Ansible pour interagir avec les serveurs ?


Quel langage est utilisé pour écrire les configurations Ansible ?


Est-il nécessaire d'installer un agent sur les serveurs gérés par Ansible ?


Comment Ansible se connecte-t-il aux serveurs pour les gérer ?



TP pour réfléchir et résoudre des problèmes

Vous allez maintenant créer votre premier conteneur Debian avec Docker, qui servira de cible pour vos premiers pas avec Ansible.

  1. Ouvrez un terminal (cmd sous Windows).

Nous allons utiliser la commande docker run pour :

  • télécharger l'image de Debian (si vous ne l'avez pas déjà téléchargée)
  • et créer un conteneur ansible-controle qui exécute le shell bash en mode interactif.
  1. Saisissez la bonne commande dans le terminal.

  2. Une fois dans le conteneur explorez le système de fichiers et affichez le contenu du fichier /etc/hosts.

    Puisque nano et vi ne sont pas encore installés, vous pouvez installer l'un d'entre eux ou utiliser la commande cat.

Une solution