2026-02-05 22:04:05 +01:00
2026-02-05 22:04:05 +01:00
2026-02-05 22:04:05 +01:00
2026-02-05 22:04:05 +01:00
2021-12-02 11:43:36 +01:00
2025-02-04 11:09:38 +01:00
2025-02-03 15:03:45 +01:00
2025-02-04 11:02:23 +01:00

TP Ansible

Objectif du TP

Ce TP est une introduction pratique à Ansible. Le but est d'observer le déploiement automatisé à l'aide d'Ansible. Ce TP est donné dans le cadre du cours TLC au département d'Informatique et d'Electronique de l'Université de Rennes 1.

Modalités de rendu

Tous les rendus TLC se font à travers le gitlab de l'ISTIC : https://gitlab2.istic.univ-rennes1.fr/

Si vous ne l'avez pas déjà fait, créez sur Gitlab ISTIC un groupe nommé TLC_2025_<votre_nom>_<votre_prenom>

Pour chaque TP, vous devrez créer un projet dans ce groupe (il est fortement conseillé de fork le repo du projet en le plaçant dans votre groupe gitlab), nommé TP<numero>_<votre_nom>_<votre_prenom> et le projet finale nommé Projet_<votre_nom>_<votre_prenom>

Pour chaque TP, vous devrez ajouter votre enseignant en tant que membre du projet avec le rôle de "Reporter" pour permettre la correction.

Objectif 1 : Déploiement d'une application LAMP sur des VMs avec Ansible

Tâche 0 (Création des VMs avec Vagrant)

Vous pouvez utiliser les Hyperviseurs libvirt ou VirtualBox /!\ Installer les plugins vagrant en fonction de l'Hyperviseur

  • Utilisez le Vagrantfile dans le répertoire vagrant pour créer des machines virtuelles en local. Plus d'informations dans run_demo.md.

Tâche 1 (Déploiement de l'application LAMP)

LAMP = Linux, Apache, MySQL, PHP /!\ Dans la machine Hôte installer et configurer Ansible

Sur votre portable :

apt-get install ansible
cd lamp_ubuntu2204_2hosts_withroles
# éditez le fichier hosts pour y mettre les IP de vos VMs ainsi que le login et le mot de passe
nano -w hosts
ansible-playbook site.yml -i hosts

Essayez d'accéder à http://ADRESSE_IP_DE_VOTRE_VM_WEB/index.php

Objectif 2 : Déploiement d'un cluster microk8s

./tp2.png

Tâche 1 : Provisionnement du Control Node

  • Créer un nouveau playbook pour installer un control node dans une VM.

Tout d'abord, créez la structure de votre playbook. Prenez le temps de lire les recommandations ici.

En utilisant les modules apt, snap et shell, créez un playbook pour installer microk8s.

Cliquez ici pour des lien utiles
  • Install Docker

Install Docker on ubuntu

  • Install microk8s

See docs

Tâche 2 : Provisionnement du Worker node

  • Étendez votre playbook pour installer un worker node dans une VM. Et ajoutez-le à votre cluster.

Tâche 3 : Déploiement d'un service dans le cluster

  • Créez une resource Deployment avec un simple pod Nginx.
  • Étendez votre playbook en utilisant le module kubernetes.core.k8s pour deployer nginx.
  • Vérifiez que le pod est bien déployé. Pouvez-vous accéder à la page d'accueil de Nginx ?

Tâche Bonus

Pour les plus guerriers, révisez votre playbook Ansible pour utiliser le module suivant : gepaplexx/microk8s

Rendu TP Ansible

  • Un playbook pour installer un cluster microk8s
  • Tâches pour deployer un pod nginx (fichier .yaml/.yml)
Description
No description provided
Readme 64 KiB
Languages
Jinja 100%