TP1 done
This commit is contained in:
parent
a75f4b43b7
commit
5f4880dc50
14 changed files with 159 additions and 108 deletions
|
|
@ -2,30 +2,24 @@ Projet
|
|||
======
|
||||
|
||||
Pour mettre en pratiques toutes les notions que l'on a vu jusque là, écrivez un
|
||||
script `mycloud-run.sh` pour automatiser le lancement de votre instance
|
||||
personnelle de [`nextcloud`](https://hub.docker.com/_/nextcloud/) ou
|
||||
playbook Ansible pour automatiser le lancement de votre instance personnelle de
|
||||
[`nextcloud`](https://hub.docker.com/_/nextcloud/) ou
|
||||
d'[`owncloud`](https://hub.docker.com/r/owncloud/server/). Une attention
|
||||
particulière devra être apportée à la manière dont vous gérerez le rappel du
|
||||
script pour éventuellement relancer un conteneur qui se serait arrêté
|
||||
(évidemment sans perdre les données).
|
||||
particulière devra être apportée à la manière dont vous faites persister les
|
||||
données entre deux lancements, tout en prenant en compte les futures mises à
|
||||
jour.
|
||||
|
||||
À la fin de son exécution, le script affichera un lien utilisable sur l'hôte
|
||||
pour se rendre sur la page de connexion. Une autre machine de votre réseau
|
||||
local devrait également pouvoir accéder à la plate-forme, simplement en
|
||||
renseignant l'IP de votre machine et en ajoutant éventuellement des règles de
|
||||
pare-feu (mais cette dernière partie n'est pas demandée, gardez simplement en
|
||||
tête que cela doit pouvoir être fait manuellement au cas par cas : sur une
|
||||
machine sans pare-feu configurée, cela ne demande pas d'étape supplémentaire).
|
||||
Le service doit être accessible sur votre réseau local, sur un port
|
||||
configurable.
|
||||
|
||||
Votre script devra se limiter aux notions vues durant cette partie du TP
|
||||
(ie. sans utiliser `docker-compose` ou `docker stack` que l'on verra dans la
|
||||
seconde partie). Il pourra cependant faire usage des commandes `docker OBJECT
|
||||
inspect` pour ne pas avoir à faire d'analyse syntaxique sur les retours des
|
||||
commandes lisibles par les humains.
|
||||
Votre playbook devrait se limiter au module
|
||||
[`docker-container`](https://docs.ansible.com/ansible/latest/modules/docker_container_module.html)
|
||||
(ie. sans utiliser `docker-compose` ou `docker stack` que l'on verra dans un
|
||||
second temps).
|
||||
|
||||
Cette instance devra utiliser une base de données MySQL (lancée par vos soins
|
||||
dans un autre conteneur) et contenir ses données dans un ou plusieurs volumes
|
||||
(afin qu'elles persistent à une mise à jour des conteneurs par exemple).
|
||||
Cette instance devra utiliser une base de données MySQL ou Postgres (lancée par
|
||||
vos soins dans un autre conteneur) et contenir ses données dans un ou plusieurs
|
||||
volumes (afin qu'elles persistent notamment à une mise à jour des conteneurs).
|
||||
|
||||
L'exécution doit être la plus sécurisée possible (pas de port MySQL exposé sur
|
||||
l'hôte par exemple, etc.) et la plus respectueuse des bonnes pratiques que l'on
|
||||
|
|
@ -36,11 +30,6 @@ a pu voir durant ce premier cours.
|
|||
|
||||
<div lang="en-US">
|
||||
```bash
|
||||
42sh$ ./mycloud-run.sh
|
||||
http://localhost:12345/
|
||||
42sh$ #docker kill db
|
||||
42sh$ ./mycloud-run.sh # le script relancera une base de données,
|
||||
# sans avoir perdu les données
|
||||
http://localhost:12345/
|
||||
42sh$ ansible-playbook -i hosts my_cloud.yml
|
||||
```
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@ cela dépendra de votre avancée dans le projet) :
|
|||
<div lang="en-US">
|
||||
```
|
||||
login_x-TP1/
|
||||
login_x-TP1/mycloud-run.sh
|
||||
login_x-TP1/...
|
||||
login_x-TP1/my_cloud.yml
|
||||
login_x-TP1/roles/...
|
||||
```
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,5 +2,5 @@
|
|||
title: Virtualisation légère -- Projet n^o^ 1
|
||||
author: Pierre-Olivier *nemunaire* Mercier
|
||||
institute: EPITA
|
||||
date: EPITA -- SRS 2020
|
||||
date: EPITA -- SRS 2021
|
||||
...
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue