Un petit conseil pour ceux qui n'utilisent pas OhMyZsh: **installer ohmyzsh**.
### Vérifie que tout marche bien avant de continuer
- [ ] Je peux lancer un `kubectl get nodes`
- [ ] Je peux lancer un `helm version`
- [ ] Je peux lancer un conteneur `docker run hello-world`
## 1. Créer un namespace pour le groupe
Un namespace, c'est une façon d'isoler des resources entre elles. On va donc créer un namespace pour le groupe, c'est dans ce namespace que vous allez travailler.
...
...
@@ -42,7 +48,7 @@ Pour un seul des membres du groupe uniquement:
kubectl create namespace <le nom de mon équipe géniale>
```
On définie ensuite ce namespace comme namespace par défaut:
On définie ensuite ce namespace comme namespace par défaut (Pour tous les membres du groupe):
```bash
kubectl config set-context --current--namespace <le nom de mon équipe géniale>
```
...
...
@@ -52,27 +58,42 @@ Cela veut dire que si vous ne spécifiez pas explicitement de namespace lorsque
Et cette application c'est VRoum.
Pour cette première partie, l'objectif est de construire les images qui vont faire tourner notre site, il y a deux images à vous répartir.
Pour cette première partie, l'objectif est de construire les images qui vont faire tourner notre site, il y a deux images à vous répartir (ou à faire ensemble séquentiellement).
### Le Front
#### Créer l'image
Le code source du front est dans le dossier front.
Ton objectif est de créer un Dockerfile et de faire tourner le front de VRoum en local.
Le front est fait en React: vous deverez donc faire un **multi-stage** build:
- Stage 0: build l'application React (Attention le .env doit être rempli pour cette étape)
- Stage 1: Servir le site avec une image Nginx.
#### Tester l'image
Test ton image Docker (docker run...)
#### Challenge supplémentaire (Facultatif)
Il est souvent considéré comme une mauvaise pratique d'avoir des conteneurs qui tournent avec l'utilisateur **root** en production.
Vérifie que ce n'est pas le cas ou alors fait les changements nécéssaires.
### Le Back
#### Créer l'image
Le code source du back est dans le dossier back.
Ton objectif est de créer un Dockerfile et de construire une image avec pour enfin le faire tourner en local.
Le back est fait en Django: je te souhaite bon courage.
#### Tester l'image
Test l'image Docker et tout avec MySQL...
#### Challenge supplémentaire (Facultatif et plus dur que pour le front)
Il est souvent considéré comme une mauvaise pratique d'avoir des conteneurs qui tournent avec l'utilisateur **root** en production.
Vérifie que ce n'est pas le cas ou alors fait les changements nécéssaires.
### Checks (before you go on)
#### Challenge supplémentaire (Facultatif et un peu dur ne pas hésiter à passer)
On préfère souvent utiliser une image alpine à une image debian en production, car celle-ci sont beaucoup plus légère. Néanmoins la gestion des dépendences, est souvent plus difficile.
Utilise une image alpine (python:3.8-alpine) comme base pour ton image.
- [ ] I can run a simple command with all the tool listed above (`git --version`, `kubectl --help`, etc...)
- [ ] I can run a container: `docker run hello-world`
- [ ] I can run a simple `kubectl` query: `kubectl get nodes`
- [ ] I can contact my cluster through http/https: `curl <my-cluster-addr>` returns a 404