diff --git a/README.md b/README.md index ecd9be5..efb7e11 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,75 @@ -# demoAnsible +# TP Ansible -## Setup +## Objectif du TP -- Install Virtualbox -- Install vagrant -- Install ansible -- Start the VMs using vagrant +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](https://hackmd.diverse-team.fr/s/SJqu5DjSD) au [département d'Informatique et d'Electronique](https://istic.univ-rennes1.fr/) de l'[Université de Rennes 1](https://www.univ-rennes1.fr/). +# 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__` + +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__` et le projet finale nommé `Projet__` + +Pour chaque TP, vous devrez ajouter votre enseignant en tant que membre du projet avec le rôle de "Reporter" pour permettre la correction. + +### Tâche 0 + +- Utilisez le Vagrantfile dans le répertoire `vagrant` pour créer des machines virtuelles en local. +Plus d'informations dans [run_demo.md](run_demo.md). + + +### Tâche 1 + +- En s'inspirant du playbook disponible [lamp_ubuntu2204_2hosts_withroles](lamp_ubuntu2204_2hosts_withroles), déployez cette simple application Ansible sur vos VMs. + +Sur votre portable : ```bash +apt-get install ansible git clone https://github.com/barais/demoAnsible -cd vagrant -vagant up -# Check that the VM are up -# Check that you can login using ssh (ssh vagrant@192.168.56.141 # password: vagrant) -``` - -## Demo 1 - -Run the playbook - -```bash -ansible-playbook playbook.yml -i hosts -``` - -Try to access http://192.168.56.141/index.php - -## Demo 2 - -- Kill the VMs and remove them. -- Use vagrant to recreate them from scratch - -```bash -git clone https://github.com/barais/demoAnsible -cd vagrant -vagant up -# Check that the VM are up -# Check that you can login using ssh (ssh vagrant@192.168.56.141 # password: vagrant) -``` - -Run the playbook - -```bash +cd demoAnsible/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 ``` -Try to access http://192.168.56.141/index.php +Essayez d'accéder à http://ADRESSE_IP_DE_VOTRE_VM_WEB/index.php + +### Tâche 2 + +- 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](https://docs.ansible.com/ansible/latest/tips_tricks/sample_setup.html). + +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](https://docs.docker.com/engine/install/ubuntu/) + +- Install microk8s + +[See docs](https://microk8s.io/docs/getting-started) + +
+ +### Tâche 3 +- Étendez votre playbook pour installer un **worker node** dans une VM. Et ajoutez-le à votre cluster. + +### Tâche 4 +- 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](https://galaxy.ansible.com/gepaplexx/microk8s) + +### Rendu TP Ansible +- un playbook pour installer un cluster microk8s +- tâches pour deployer un pod nginx diff --git a/ansibleLabsTLC/Readme.md b/ansibleLabsTLC/Readme.md deleted file mode 100644 index baa3866..0000000 --- a/ansibleLabsTLC/Readme.md +++ /dev/null @@ -1,89 +0,0 @@ -# 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](https://hackmd.diverse-team.fr/s/SJqu5DjSD) au [département d'Informatique et d'Electronique](https://istic.univ-rennes1.fr/) de l'[Université de Rennes 1](https://www.univ-rennes1.fr/). - -## Enoncé - -### Tâche 0 - -Créer deux machines virtuelle (https://vm.istic.univ-rennes1.fr/ séléctionner **ubuntu22** comme image de base), l'accès au port 22 se fera au travers du [VPN](https://istic.univ-rennes1.fr/intranet/services#section-4). - -Une fois que vous avez créer ces machines, vérifier que vous avez accès à ces machines en ssh avec les instructions reçues par email. - -De manière alternative, vous pouvez utiliser VirtualBox et le script Vagrant fourni dans ce repositor pour créer ces VMs. - - -### Tâche 1 - -En s'inspirant du playbooks disponible [ici](https://github.com/barais/demoAnsible/tree/main/lamp_ubuntu2204_2hosts_withroles), déployer cette simple application ansible sur vos vms. - -Sur votre portable : - -```bash -apt-get install ansible -git clone https://github.com/barais/demoAnsible -cd demoAnsible/lamp_ubuntu2204_2hosts_withroles -# edit the hosts to put the IP of your VMs and the login and password -nano -w hosts -ansible-playbook site.yml -i hosts -``` - -Essayer d'accéder à http://ADRESSE_IP_DE_VOTRE_VM_WEB/index.php - -### Tâche 2 - -Créer un nouveau playbook pour installer micok8S sur votre VM. - -Tout d'abord, créer la structure de votre playbook. Prenez le temps de lire les recommandations ici. -https://docs.ansible.com/ansible/latest/tips_tricks/sample_setup.html - -En utilisant les modules apt, snap et shell, créer un playbook pour installer microk8S. - -Je rappelle que microk8s s'installe manuellement avec les commandes suivantes. - -- Install Docker - -[Install Docker on ubuntu](https://docs.docker.com/engine/install/ubuntu/) - -- Install microk8s - -[See docs](https://microk8s.io/docs/getting-started) - -```bash -sudo snap install microk8s --classic --channel=1.25 -sudo usermod -a -G microk8s $USER -sudo chown -f -R $USER ~/.kube -microk8s start -microk8s status --wait-ready -``` - -Enable services - -```bash -microk8s enable dns storage -microk8s enable dashboard ingress -microk8s enable registry -``` - -Pushing to this insecure registry may fail in some versions of Docker unless the - daemon is explicitly configured to trust this registry. To address this we need - to edit /etc/docker/daemon.json and add: - -```json -{ - "insecure-registries" : ["localhost:32000"] -} -``` - -The new configuration should be loaded with a Docker daemon restart: - -```bash -sudo systemctl restart docker -``` - -### Tâche 3 - -Pour les plus gerriers, révisez votre playbook ansible pour utiliser le module suivant -https://galaxy.ansible.com/gepaplexx/microk8s diff --git a/run_demo.md b/run_demo.md new file mode 100644 index 0000000..ecd9be5 --- /dev/null +++ b/run_demo.md @@ -0,0 +1,48 @@ +# demoAnsible + +## Setup + +- Install Virtualbox +- Install vagrant +- Install ansible +- Start the VMs using vagrant + + +```bash +git clone https://github.com/barais/demoAnsible +cd vagrant +vagant up +# Check that the VM are up +# Check that you can login using ssh (ssh vagrant@192.168.56.141 # password: vagrant) +``` + +## Demo 1 + +Run the playbook + +```bash +ansible-playbook playbook.yml -i hosts +``` + +Try to access http://192.168.56.141/index.php + +## Demo 2 + +- Kill the VMs and remove them. +- Use vagrant to recreate them from scratch + +```bash +git clone https://github.com/barais/demoAnsible +cd vagrant +vagant up +# Check that the VM are up +# Check that you can login using ssh (ssh vagrant@192.168.56.141 # password: vagrant) +``` + +Run the playbook + +```bash +ansible-playbook site.yml -i hosts +``` + +Try to access http://192.168.56.141/index.php