Save tuto corrections

This commit is contained in:
nemunaire 2022-02-24 20:43:43 +01:00
commit 10448a6c8d
115 changed files with 1423 additions and 1289 deletions

View file

@ -1,27 +1,26 @@
\newpage
Cookies dans Kube
=================
-----------------
Maintenant que nous en savons un peu plus sur Kubernetes, nous allons commencer
à déployer notre application ChocoMiner dans notre cluster. Pour cela, nous
allons devoir :
allons devoir :
- lancer des déploiements de ces images ;
- lancer des déploiements de ces images ;
- exposer avec un ClusterIP les services qui ont besoin de communiquer
entre-eux ;
entre-eux ;
- exposer avec un NodePort l'interface graphique de contrôle.
Lancement des *pod*s
--------------------
### Lancement des *pod*s
### Via Helm
#### Via Helm
[Helm](https://helm.sh/) est l'équivalent d'un gestionnaire de paquets, mais
pour Kubernetes. Nous avons pu voir dans la section précédente qu'il faut
parfois écrire des fichiers de description YAML assez volumineux (et encore,
celui du tableau de bord est tout petit !) afin de se faire comprendre de
celui du tableau de bord est tout petit !) afin de se faire comprendre de
Kubernetes.
Helm se veut donc, notamment, être un moyen de packager une application, pour
@ -37,14 +36,14 @@ que `kubectl`, il n'y a rien de plus à configurer.
Une fois `helm` installé, et le dépôt `influxdata` ajouté, comme précisé dans
la documentation du *chart* d'InfluxDB, nous pouvons le déployer dans notre
cluster :
cluster :
```bash
helm install influxdb influxdata/influxdb
```
Les valeurs de configuration indiquées dans le `README` du *chart* se modifient
ainsi :
ainsi :
```bash
helm upgrade -f values.yml your-influx-name influxdata/influxdb
@ -58,18 +57,18 @@ Nous pouvons ensuite faire de même avec
mixer avec la méthode ci-dessous (en adaptant certaines valeurs).
### Via `kubectl`
#### Via `kubectl`
Si vous ne souhaitez pas utiliser `helm`, vous pouvez vous rabattre sur les
YAML que l'on a utilisés jusqu'à maintenant, et utiliser `kubectl`. Commençons
par lancer `influxdb` :
par lancer `influxdb` :
```bash
kubectl apply -f https://virli.nemunai.re/influxdb.yaml
```
Pour chronograf, la commande suivante fonctionnerait, mais prenons exemple sur
le fichier YAML d'InfluxDB pour Chronograf :
le fichier YAML d'InfluxDB pour Chronograf :
```bash
kubectl create deployment chronograf --image=chronograf -- chronograf \
@ -78,7 +77,7 @@ kubectl create deployment chronograf --image=chronograf -- chronograf \
--influxdb-password=eBoo8geingie8ziejeeg8bein6Yai1a
```
### Notre application
#### Notre application
```bash
TAG=0.1
@ -87,7 +86,7 @@ for SERVICE in hasher rng worker; do
done
```
### Exposer les ports
#### Exposer les ports
Pour trois des applications, des `ClusterIP` font l'affaire, car ils n'ont pas
besoin d'être exposés en dehors du cluster.
@ -101,26 +100,27 @@ kubectl expose deployment hasher --port 80
Si vous avez utilisé le *chart* Helm d'InfluxDB, Un `ClusterIP` a été
automatiquement créé.
Par contre, notre Chronograf doit être exposé, on lui alloue donc un NodePort :
Par contre, notre Chronograf doit être exposé, on lui alloue donc un NodePort :
```bash
kubectl create service nodeport chronograf --tcp=8888 --node-port=30001
```
À ce stade, nous devrions pouvoir accéder à l'interface de Chronograf !
À ce stade, nous devrions pouvoir accéder à l'interface de Chronograf !
Le port 30001 est exposé par `kind` (cela faisait partie des ports redirigés par
Docker entre le nœud *master* et votre machine !), nous devrions donc pouvoir
nous rendre sur : <http://localhost:30001/> pour y voir Chronograf.
Docker entre le nœud *master* et votre machine !), nous devrions donc pouvoir
nous rendre sur : <http://localhost:30001/> pour y voir Chronograf.
Pour afficher un graphique intéressant, on se rend dans *Explore*, on choisit
la base `chocominer.autogen`, puis la table `hashes` et enfin on sélectionne
l'élément `value`. Pour être tout à fait juste, il faut choisir la fonction
`sum`, car nous voulons afficher le nombre total de condensat générés. Un
second graphique intéressant est celui du nombre de pépites trouvées : il faut
compter (`count`) le nombre d'éléments dans la table `chunks`.
Pour afficher un graphique intéressant, on se rend dans la partie
*Explore*, puis on choisit la base `chocominer.autogen`, puis la table `hashes`
et enfin on sélectionne l'élément `value`. Pour être tout à fait juste, il faut
choisir la fonction `summ`, car nous voulons afficher le nombre total de
condensat générés. Un second graphique intéressant est celui du nombre de
pépites trouvées : il faut compter (`count`) le nombre d'éléments dans la table
`chunks`.
![Montée en charge progressive dans Chronograph](nuggets-graph.png)
Vous n'avez pas la même courbe de progression ? Continuons le TP alors, pour
augmenter la puissance de notre *rig* !
Vous n'avez pas la même courbe de progression ? Alors continuons pour augmenter
la puissance de notre *rig* !