TP1 ready
This commit is contained in:
parent
9281f01857
commit
f909d463ca
16 changed files with 265 additions and 122 deletions
|
@ -3,12 +3,11 @@
|
|||
Composition de conteneurs
|
||||
=========================
|
||||
|
||||
## Automatiser la construction et le lancement
|
||||
## Automatiser le lancement de conteneurs
|
||||
|
||||
Au lieu de faire un script pour construire et lancer tous vos conteneurs, nous
|
||||
allons définir à la racine de notre projet un fichier `docker-compose.yml` qui
|
||||
contiendra les paramètres d'exécution (et éventuellement les méthodes de
|
||||
construction).
|
||||
contiendra les paramètres d'exécution.
|
||||
|
||||
<div lang="en-US">
|
||||
```yaml
|
||||
|
@ -137,12 +136,8 @@ Consultez
|
|||
[la documentation](https://docs.docker.com/compose/compose-file/) pour
|
||||
une liste exhaustive des options que nous pouvons utiliser.
|
||||
|
||||
Une fois que votre `docker-compose.yml` est prêt, lancez tout d'abord
|
||||
`docker-compose build` pour commencer la phase de build de tous les conteneurs
|
||||
listés dans le fichier.
|
||||
|
||||
Une fois le build terminé, nous pouvons lancer la commande suivante et admirer
|
||||
le résultat :
|
||||
Une fois que notre `docker-compose.yml` est prêt, nous pouvons lancer
|
||||
la commande suivante et admirer le résultat :
|
||||
|
||||
<div lang="en-US">
|
||||
```bash
|
||||
|
|
|
@ -6,7 +6,7 @@ Lier des conteneurs
|
|||
Avant de voir des méthodes plus automatiques pour déployer toute notre pile
|
||||
logicielle TICK, nous allons commencer par mettre en place et lier les
|
||||
conteneurs manuellement, de la même manière que nous avons pu le faire avec
|
||||
Owncloud et MySQL.
|
||||
l'interface d'administration du FIC et MySQL.
|
||||
|
||||
|
||||
## Conteneur central : la base de données
|
||||
|
@ -14,7 +14,7 @@ Owncloud et MySQL.
|
|||
Le premier conteneur qui doit être lancé est la base de données orientée séries
|
||||
temporelles :
|
||||
[InfluxDB](https://www.influxdata.com/time-series-platform/influxdb/).
|
||||
En effet, tous les autres conteneurs on besoin de cette base de données pour
|
||||
En effet, tous les autres conteneurs ont besoin de cette base de données pour
|
||||
fonctionner correctement : il serait impossible à *Chronograf* d'afficher les
|
||||
données sans base de données, tout comme *Telegraf* ne pourrait écrire les
|
||||
métriques dans une base de données à l'arrêt.
|
||||
|
@ -46,8 +46,8 @@ le client fourni :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
42sh$ docker container run --rm -it --link mytsdb:influxdb \
|
||||
> --entrypoint "/usr/bin/influx" influxdb -host influxdb
|
||||
42sh$ docker container run --rm -it --link mytsdb:influxdb --entrypoint "/usr/bin/influx" \
|
||||
influxdb -host influxdb
|
||||
Connected to http://influxdb:8086 version 1.6.3
|
||||
InfluxDB shell version: 1.6.3
|
||||
> show databases
|
||||
|
@ -74,8 +74,8 @@ docker container logs mytsdb
|
|||
|
||||
\hspace{2em}**Exercice :** Ajoutez à la ligne de commande de lancement du
|
||||
conteneur les bon(s) volume(s) qui permettront de ne pas perdre les données
|
||||
d'influxDB si nous devions redémarrer le conteneur.
|
||||
|
||||
d'influxDB si nous devions redémarrer le conteneur. Aidez-vous pour cela de la
|
||||
[documentation du conteneur](https://hub.docker.com/_/influxdb).
|
||||
|
||||
|
||||
## Collecter les données locales
|
||||
|
@ -108,8 +108,8 @@ Et observons ensuite :
|
|||
|
||||
<div lang="en-US">
|
||||
```bash
|
||||
42sh$ docker container run --rm -it --link mytsdb:influxdb \
|
||||
> --entrypoint "/usr/bin/influx" influxdb -host influxdb
|
||||
42sh$ docker container run --rm -it --link mytsdb:influxdb --entrypoint "/usr/bin/influx" \
|
||||
influxdb -host influxdb
|
||||
InfluxDB shell version: 1.6.3
|
||||
> show databases
|
||||
name: databases
|
||||
|
|
|
@ -20,7 +20,10 @@ mettrez en place les *volumes* et *networks* nécessaire au bon fonctionnement
|
|||
de la stack.
|
||||
|
||||
Le résultat final attendu doit permettre d'afficher dans `chronograf` l'hôte
|
||||
auto-monitoré par la stack, sans plus de configuration.
|
||||
auto-monitoré par la stack, sans plus de configuration. Vous aurez pour cela
|
||||
éventuellement besoin de placer des fichiers de configuration à côté de votre
|
||||
`docker-compose.yml`, afin de pouvoir inclure ces configurations dans les
|
||||
conteneurs, sans avoir besoin de reconstruire ces conteneurs.
|
||||
|
||||
|
||||
Modalités de rendu
|
||||
|
@ -38,6 +41,9 @@ et exclusivement à celle-ci que vous devez envoyer vos rendus. Tout rendu
|
|||
envoyé à une autre adresse et/ou non signé et/ou reçu après la correction ne
|
||||
sera pas pris en compte.
|
||||
|
||||
Par ailleurs, n'oubliez pas de répondre à
|
||||
[l'évaluation du cours](https://www.epitaf.fr/moodle/mod/quiz/view.php?id=213).
|
||||
|
||||
|
||||
Tarball
|
||||
-------
|
||||
|
@ -50,11 +56,89 @@ cela dépendra de votre avancée dans le projet) :
|
|||
|
||||
<div lang="en-US">
|
||||
```
|
||||
login_x-TP2/
|
||||
login_x-TP2/tick/
|
||||
login_x-TP2/tick/docker-compose.yml
|
||||
login_x-TP2/tick/...
|
||||
login_x-TP1/
|
||||
login_x-TP1/ficadmin-run.sh
|
||||
login_x-TP1/docker-compose.yml
|
||||
login_x-TP1/...
|
||||
```
|
||||
</div>
|
||||
|
||||
Utilisez la même tarball pour le rendu que pour la partie précédente.
|
||||
|
||||
## Signature du rendu
|
||||
|
||||
Deux méthodes sont utilisables pour signer votre rendu :
|
||||
|
||||
* signature du courriel ;
|
||||
* signature de la tarball.
|
||||
|
||||
Dans les deux cas, si vous n'en avez pas déjà une, vous devrez créer une clef
|
||||
PGP à **votre nom et prénom**.
|
||||
|
||||
Pour valider la signature, il est nécessaire d'avoir reçu la clef publique
|
||||
**séparément**. Vous avez le choix de l'uploader sur un serveur de clefs, soit
|
||||
de me fournir votre clef en main propre, soit l'envoyer dans un courriel
|
||||
distinct.
|
||||
|
||||
### Signature du courriel
|
||||
|
||||
[Enigmail](https://enigmail.net) est une extension très bien réputée pour
|
||||
signer ses mails depuis Thunderbird.
|
||||
|
||||
Utilisez le service automatique <signcheck@nemunai.re> pour savoir si votre
|
||||
courriel est correctement signé et que je suis en mesure de vérifier la
|
||||
signature.
|
||||
|
||||
|
||||
### Astuces
|
||||
|
||||
#### No public key
|
||||
|
||||
Si vous recevez un rapport avec l'erreur suivante :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
[FAIL] Bad signature. Here is the gnupg output:
|
||||
|
||||
gpg: Signature made Tue Jan 01 16:42:23 2014 CET
|
||||
gpg: using RSA key 842807A84573CC96
|
||||
gpg: requesting key E2CCD99DD37BD32E from hkp server keys.openpgp.org
|
||||
gpg: Can't check signature: No public key
|
||||
```
|
||||
</div>
|
||||
|
||||
C'est que votre clef publique n'est pas dans mon trousseau et que les
|
||||
méthodes de récupération automatique n'ont pas permis de la
|
||||
trouver. Uploadez votre clef sur [un serveur de
|
||||
clefs](https://keys.openpgp.org/) ou envoyez un courriel au service
|
||||
avec votre clef publique en pièce-jointe, avant de retenter votre
|
||||
rendu.
|
||||
|
||||
|
||||
#### Not explicit username
|
||||
|
||||
Si vous recevez un rapport avec l'erreur suivante :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
[FAIL] The username of your key is not explicit, I can't find you.
|
||||
```
|
||||
</div>
|
||||
|
||||
Votre clef ne contient sans doute pas vos noms et prénoms ou l'adresse
|
||||
électronique associée à la clef n'est pas celle que j'ai dans ma base de
|
||||
données.
|
||||
|
||||
|
||||
#### I've decided to skip your e-mail
|
||||
|
||||
Si vous recevez un rapport concluant ainsi :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
After analyzing your e-mail, I've decided to SKIP it.
|
||||
```
|
||||
</div>
|
||||
|
||||
Cela signifie que la lecture de votre courriel qui a été préférée n'est pas
|
||||
celle d'un rendu. Vérifiez que vous n'envoyez pas votre clef publique avec
|
||||
votre rendu.
|
||||
|
|
|
@ -3,15 +3,15 @@
|
|||
Mise en place
|
||||
=============
|
||||
|
||||
Durant le premier TP, nous avons installé l'environnement Docker principal, qui
|
||||
inclut le client, le daemon et toute sa machinerie. Mais le projet Docker
|
||||
propose de nombreuses autres ressources, souvent directement trouvée dans les
|
||||
usages de la communauté, et parfois même approprié par Docker.
|
||||
Dans la première partie du TP, nous avons installé l'environnement Docker
|
||||
principal, qui inclut le client, le daemon et toute sa machinerie. Mais le
|
||||
projet Docker propose de nombreuses autres ressources, souvent directement
|
||||
trouvée dans les usages de la communauté, et parfois même approprié par Docker.
|
||||
|
||||
|
||||
## `docker-compose`
|
||||
|
||||
Pour ce TP, nous allons également avoir besoin de `docker-compose`.
|
||||
Dans cette partie, nous allons avoir besoin de `docker-compose`.
|
||||
|
||||
Ce projet ne bénéficie pas d'une intégration au sein du projet Docker et doit
|
||||
être téléchargé séparément, car originellement, le projet était développé par
|
||||
|
@ -33,7 +33,7 @@ tous les scripts. Nous pouvons l'installer en suivant la procédure suivante :
|
|||
|
||||
<div lang="en-US">
|
||||
```bash
|
||||
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-Linux-x86_64 \
|
||||
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64 \
|
||||
> /usr/bin/docker-compose
|
||||
chmod +x /usr/bin/docker-compose
|
||||
```
|
||||
|
@ -54,7 +54,7 @@ Comme avec Docker, nous pouvons vérifier le bon fonctionnement de
|
|||
<div lang="en-US">
|
||||
```
|
||||
42sh$ docker-compose --version
|
||||
docker-compose version: 1.16.1
|
||||
docker-compose version: 1.24.1
|
||||
```
|
||||
</div>
|
||||
|
||||
|
@ -64,7 +64,7 @@ TP ! Alors n'attendons pas, partons à l'aventure !
|
|||
|
||||
## Play With Docker
|
||||
|
||||
Tout comme pour le TP précédent, si vous avez des difficultés pour réaliser les
|
||||
exercices sur vos machines, vous pouvez utiliser le projet
|
||||
[Play With Docker](https://play-with-docker.com/) qui vous donnera accès à un
|
||||
bac à sable avec lequel vous pourrez réaliser tous les exercices de ce TP.
|
||||
Tout comme pour la partie précédente, si vous avez des difficultés pour
|
||||
réaliser les exercices sur vos machines, vous pouvez utiliser le projet [Play
|
||||
With Docker](https://play-with-docker.com/) qui vous donnera accès à un bac à
|
||||
sable avec lequel vous pourrez réaliser tous les exercices de ce TP.
|
||||
|
|
|
@ -1,23 +1,24 @@
|
|||
---
|
||||
title: Virtualisation légère -- TP n^o^ 2.2
|
||||
subtitle: Aller plus loin avec Docker
|
||||
title: Virtualisation légère -- TP n^o^ 1.2
|
||||
subtitle: Les bases de Docker -- compose
|
||||
author: Pierre-Olivier *nemunaire* [Mercier]{.smallcaps}
|
||||
institute: EPITA
|
||||
date: Jeudi 18 octobre 2017
|
||||
date: Mercredi 2 octobre 2019
|
||||
abstract: |
|
||||
Dans cette deuxième partie du TP, nous allons approfondir l'utilisation de
|
||||
Docker !
|
||||
Dans cette deuxième partie du TP, nous allons apprendre à déployer
|
||||
un groupe de conteneurs !
|
||||
|
||||
\vspace{1em}
|
||||
|
||||
Tous les éléments de ce TP (exercices et projet) sont à rendre à
|
||||
<virli@nemunai.re> au plus tard le mercredi 24 octobre 2017 à 0
|
||||
h 42. Consultez la dernière section de chaque partie pour plus d'information
|
||||
sur les éléments à rendre.
|
||||
Le TP se termine par un petit projet à rendre à <virli@nemunai.re>
|
||||
au plus tard le mercredi 16 octobre 2019 à 13 h 42, des questions de
|
||||
cours sont également à compléter avant cette date sur
|
||||
Epitaf. Consultez la dernière partie de ce TP pour les modalités.
|
||||
|
||||
En tant que personnes sensibilisées à la sécurité des échanges électroniques,
|
||||
vous devrez m'envoyer vos rendus signés avec votre clef PGP. Pensez à
|
||||
[me](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96)
|
||||
faire signer votre clef et n'hésitez pas à [faire signer votre
|
||||
clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||
En tant que personnes sensibilisées à la sécurité des échanges
|
||||
électroniques, vous devrez m'envoyer vos rendus signés avec votre
|
||||
clef PGP. Pensez à
|
||||
[me](https://keys.openpgp.org/search?q=nemunaire%40nemunai.re)
|
||||
faire signer votre clef et n'hésitez pas à [faire signer la
|
||||
votre](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||
...
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue