Kubernetes : configuration et stockage
Les namespaces, ConfigMap et Secret en variables ou en fichiers montés, les volumes d'un pod, PersistentVolume, PersistentVolumeClaim et StorageClass, modes d'accès, et ce qu'un StatefulSet ajoute.
- 28 cartes
- 4 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Mises en situation
Quelques cartes du deck
Namespace : de quoi s'agit-il ?
Voir la réponse
Cloison logique du cluster qui sépare les noms des objets et sur laquelle on applique des droits et des quotas.
Il ne coupe pas le réseau : sans NetworkPolicy, un pod d'un namespace joint ceux d'un autre.
Quelle valeur faut-il écrire dans le champ
datad'un Secret pour le mot de passes3cret?
```bash
echo -n 's3cret' | base64`czNjcmV0s3cretUzNjcmV0czNjcmV0Cg==
Voir la réponse
czNjcmV0La commande affiche
czNjcmV0. Sans l'option-n,echoajoute un retour à la ligne qui serait encodé aussi (czNjcmV0Cg==) et rendrait le mot de passe faux. La valeur en clair irait dansstringData.Une valeur de ConfigMap injectée comme … n'est lue qu'au démarrage du conteneur ; montée comme …, elle finit par être mise à jour dans le pod.
Voir la réponse
Une valeur de ConfigMap injectée comme variable d'environnement n'est lue qu'au démarrage du conteneur ; montée comme fichier, elle finit par être mise à jour dans le pod.
Les variables d'un processus sont figées à son lancement. Pour qu'une application relise un fichier modifié, elle doit aussi le surveiller ou être relancée.
ConfigMap : de quoi s'agit-il ?
Voir la réponse
Objet qui contient de la configuration non secrète, sous forme de paires clé-valeur ou de fichiers, injectée dans les pods sans toucher à l'image.
La même image sert en développement et en production : seule la ConfigMap change, ce qui évite de reconstruire l'image.
On corrige une ConfigMap mais l'application garde l'ancienne valeur, lue par variable d'environnement. Quelle est la cause et la solution ?
- Le serveur d'API n'a pas enregistré la ConfigMap ; la recréer dans un autre namespace, puis recommencer
- La ConfigMap est mise en cache dans l'image ; reconstruire l'image avec la nouvelle valeur puis la pousser
- Les variables se mettent à jour d'elles-mêmes au bout d'une heure ; il suffit d'attendre sans rien faire
- Les variables ne sont lues qu'au démarrage ; relancer le déploiement avec
kubectl rollout restart
Voir la réponse
Les variables ne sont lues qu'au démarrage ; relancer le déploiement avec
kubectl rollout restartL'environnement d'un processus est copié à son lancement. Un fichier monté peut se mettre à jour, pas une variable : il faut remplacer les pods pour qu'ils relisent la ConfigMap.