Skip to content

Commit

Permalink
last push
Browse files Browse the repository at this point in the history
  • Loading branch information
Neferites committed Jun 20, 2024
1 parent 62951a2 commit 496aa69
Show file tree
Hide file tree
Showing 21 changed files with 61 additions and 62 deletions.
2 changes: 2 additions & 0 deletions 1-kubectl/finish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Félicitations.
Vous maitrisez kubectl, mais pourquoi ne pas passer à k9s ?
3 changes: 3 additions & 0 deletions 1-kubectl/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
"host01": [
{"file": "solution*", "target": "/var/killercoda/solution","chmod":"+w"}
]
},
"finish": {
"text": "finish.md"
}
},
"backend": {
Expand Down
2 changes: 2 additions & 0 deletions 2-pod/finish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Félicitations.
Les pods c'est bien, mais les déploiements, c'est mieux :)
3 changes: 3 additions & 0 deletions 2-pod/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
{"file": "monolith.yaml", "target": "/root", "chmod": "+w"},
{"file": "solution*", "target": "/var/killercoda/solution","chmod":"+w"}
]
},
"finish": {
"text": "finish.md"
}
},
"backend": {
Expand Down
2 changes: 2 additions & 0 deletions 3-readiness/finish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Félicitations.
N'hésitez pas à mettre à jour vos déploiements pour rajouter ces probes, pour plus de disponibilité.
3 changes: 3 additions & 0 deletions 3-readiness/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
"host01": [
{"file": "healthy-monolith.yaml", "target": "/root", "chmod": "+w"}
]
},
"finish": {
"text": "finish.md"
}
},
"backend": {
Expand Down
2 changes: 2 additions & 0 deletions 4-configmap-secrets/finish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Félicitations.
Configurez vos déploiements avec des configmap et des secrets avec aisance :)
3 changes: 3 additions & 0 deletions 4-configmap-secrets/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@
{"file": "tls/*.*", "target": "/root/configuration", "chmod": "+w"},
{"file": "solution*", "target": "/var/killercoda/solution","chmod":"+w"}
]
},
"finish": {
"text": "finish.md"
}
},
"backend": {
Expand Down
2 changes: 2 additions & 0 deletions 5-services/finish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Félicitations.
Les services n'ont plus de secrets pour vous !
2 changes: 2 additions & 0 deletions 6-deployment/finish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Félicitations.
Vous maitrisez maintenant les bases des déploiements sur Kubernetes. Il existe des moyens automatisés de gérer cela, mais ce n'est pas au programme de cette session.
3 changes: 3 additions & 0 deletions 6-deployment/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@
{"file": "configuration/nginx/*", "target": "/root","chmod":"+w"},
{"file": "solution*", "target": "/var/killercoda/solution","chmod":"+w"}
]
},
"finish": {
"text": "finish.md"
}
},
"backend": {
Expand Down
2 changes: 1 addition & 1 deletion 7-autoscaling/step1/verify.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
if [[ ! -e "/tmp/god" ]]; then
grep "hpa-example" /tmp/res-step1
grep "hpa" /tmp/res-step1
fi
Empty file.
2 changes: 2 additions & 0 deletions 8-volumes/finish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Félicitations.
Vous avez terminé l'ensemble des TP sur cette School Kubernetes, nous esperons que cela vous a plu.
9 changes: 5 additions & 4 deletions 8-volumes/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,24 @@
},
{
"title": "Déployer un Wordpress complet",
"text": "step2/step2.md",
"verify": "step2/verify.sh"
"text": "step2/step2.md"
},
{
"title": "Détruire et relancer des pods",
"text": "step3/step3.md"
},
{
"title": "Nettoyage",
"text": "step4/step4.md",
"verify": "step4/verify.sh"
"text": "step4/step4.md"
}
],
"assets": {
"host01": [
{"file": "volume/*", "target": "/root", "chmod": "+w"}
]
},
"finish": {
"text": "finish.md"
}
},
"backend": {
Expand Down
14 changes: 4 additions & 10 deletions 8-volumes/step1/step1.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,27 @@
## 1/ Créer un secret pour votre base de données

Executer la commande suivante:
```
kubectl create secret generic mysql --from-literal=password=$(openssl rand -hex 12)
```{{exec}}
### Question ?
Quel est le mot de passe généré ?
> Indices pour le retrouver:
1. Afficher le secret en format YAML
## Exercice
Le but est de trouver le mot de passe généré
1. Afficher le secret au format YAML
```
kubectl get secret mysql -o yaml
```{{exec}}
2. Dans ce yaml, repérer le chemin de l'élément qui contient le mot de passe et l'extraire avec le paramètre `jsonpath` de kubectl
```
kubectl get secret mysql -o jsonpath='{.mon.chemin.ici}'
```
3. Attention, la valeur est encodée en base64, il faut donc la décoder:
```
echo 'mon_MoT_de_PaSsE_enCOde==' | base64 -d
```
- Ecrire la valeur de ce mot de passe dans le fichier /tmp/res-step1
Ecrire la valeur de ce mot de passe dans le fichier `/tmp/res-step1`
> vous pouvez utiliser la commande `echo '..mot_de_passe_trouvé..' > /tmp/res-step1`
Expand Down
5 changes: 3 additions & 2 deletions 8-volumes/step1/verify.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/bin/bash

grep $(kubectl get secret mysql -o jsonpath='{.data.password}' | base64 -d) /tmp/res-step1
if [[ ! -e "/tmp/god" ]]; then
grep $(kubectl get secret mysql -o jsonpath='{.data.password}' | base64 -d) /tmp/res-step1
fi
55 changes: 19 additions & 36 deletions 8-volumes/step2/step2.md
Original file line number Diff line number Diff line change
@@ -1,77 +1,60 @@
## 1/ Créer les volumes
Appliquer ces 2 commandes

Créer les volumes pour mysql et wordpress
```
kubectl apply -f volume/mysql-volumeclaim.yaml
kubectl apply -f volume/wordpress-volumeclaim.yaml
kubectl apply -f volume/mysql-volumeclaim.yaml -f volume/wordpress-volumeclaim.yaml
```{{exec}}
## 2/ Créer ma base de données MySQL
Les descripteurs permettant de déployer une base de données sont founis dans le TP. Les examiner et les appliquer:
## 2/ Créer la base de données MySQL
Les YAML permettant de déployer une base de données sont founis dans le TP.
Vous pouvez les examiner avec `cat`
```
cat volume/mysql.yaml
```{{exec}}
```
kubectl apply -f volume/mysql.yaml
```{{exec}}
```
cat volume/mysql-service.yaml
```{{exec}}
Les déployer:
```
kubectl apply -f volume/mysql-service.yaml
kubectl apply -f volume/mysql-service.yaml -f volume/mysql.yaml
```{{exec}}
## 3/ Créer l'instance Wordpress et l'exposer
Les descripteurs sont founis dans le TP. Les examiner et les appliquer:
Les YAML sont founis dans le TP.
Vous pouvez les examiner avec `cat`
```
cat volume/wordpress.yaml
```{{exec}}
```
kubectl apply -f volume/wordpress.yaml
```{{exec}}
```
cat volume/wordpress-service.yaml
```{{exec}}
Les déployer:
```
kubectl apply -f volume/wordpress-service.yaml
kubectl apply -f volume/wordpress.yaml -f volume/wordpress-service.yaml
```{{exec}}
## 4/ Vérifier l'état des pods
Lancer la commande et attendre que les 2 pods soient en état "Running"
Lancer la commande et attendre que les 2 pods soient en état "Running" (faire Ctrl + C quand tout est bon)
```
watch kubectl get pods
```{{exec}}
## 5/ Accédez à votre wordpress
Afficher via la commande `curl` la page d'installation de wordpress
```
curl -L http://172.30.1.2:30000
```{{exec interrupt}}
> Si vous constatez une erreur liée à la connexion avec la base de données, patienter 10 secondes et retenter la commande.
> Si vous constatez une erreur liée à la connexion avec la base de données, patienter 10 secondes et retentez la commande.
### Challenge
Accédez à l'application depuis votre navigateur
- En haut à droite de la fenêtre terminal, cliquer sur la petite icône représentant 3 barres (menu "hamburger")
- Dans le menu qui s'ouvre, choisir "Traffic / Ports"
- Dans la zone de saisie "Custom Ports" pour un des 2 hosts, entrer "30000"
- Cliquer sur "Access"
> Il est possible que vous obteniez une page d'erreur "502". Dans ce cas recharger la page.
1. En haut à droite de la fenêtre terminal, cliquer sur la petite icône représentant 3 barres (menu "hamburger")
2. Dans le menu qui s'ouvre, choisir "Traffic / Ports"
3. Dans la zone de saisie "Custom Ports" pour un des 2 hosts, entrer "30000"
4. Cliquer sur "Access"
- Vous obtenez la page d'installation de Wordpress, vous pouvez suivre la procédure si vous le souhaitez.
Ces erreurs sont liées à des limitations dans les environnements de test Killerkoda
> Il est possible que vous obteniez une page d'erreur "502". Dans ce cas recharger la page.
3 changes: 0 additions & 3 deletions 8-volumes/step2/verify.sh

This file was deleted.

3 changes: 0 additions & 3 deletions 8-volumes/step3/verify.sh

This file was deleted.

3 changes: 0 additions & 3 deletions 8-volumes/step4/verify.sh

This file was deleted.

0 comments on commit 496aa69

Please sign in to comment.