Quiz - Partie 3 : Secrets, ConfigMaps et Volumes#
---
primary_color: orange
secondary_color: lightgray
text_color: black
shuffle_questions: false
---
## Quelle est la différence principale entre un Secret et un ConfigMap ?
- [x] Les Secrets sont pour les données sensibles encodées en Base64, les ConfigMaps pour les données non sensibles en clair
- [ ] Les Secrets sont chiffrés, les ConfigMaps sont en clair
- [ ] Les ConfigMaps peuvent être montés en volume, pas les Secrets
- [ ] Les Secrets sont versionnables, pas les ConfigMaps
## L'encodage Base64 des Secrets est-il une mesure de sécurité ?
- [ ] Oui, c'est un chiffrement fort
- [x] Non, c'est juste un encodage pour assurer la compatibilité YAML/JSON
- [ ] Oui, mais seulement pour les secrets de type Opaque
- [ ] Non, mais il devient un chiffrement après application
## Comment décoder une valeur Base64 d'un Secret ?
- [x] `echo '<valeur_base64>' | base64 --decode`
- [ ] `kubectl decode secret <nom>`
- [ ] `base64 -d '<valeur_base64>'`
- [ ] `kubectl get secret <nom> --decode`
## Comment injecter toutes les clés d'un Secret comme variables d'environnement dans un Pod ?
- [x] En utilisant `envFrom` avec `secretRef`
- [ ] En utilisant `env` avec `secretKeyRef`
- [ ] En utilisant `volumeMounts` avec `secret`
- [ ] En utilisant `configMapRef` avec le nom du Secret
## Comment injecter une seule clé d'un Secret comme variable d'environnement ?
- [x] En utilisant `env` avec `secretKeyRef` et en spécifiant la clé
- [ ] En utilisant `envFrom` avec `secretRef`
- [ ] En utilisant `singleKeyRef` dans la section env
- [ ] En utilisant `valueFrom.secret.key`
## Les Secrets montés en volume sont-ils mis à jour dynamiquement dans les Pods ?
- [x] Oui, avec un léger délai
- [ ] Non, jamais
- [ ] Oui, instantanément
- [ ] Seulement si on redémarre le Pod
## Les Secrets utilisés comme variables d'environnement sont-ils mis à jour après le démarrage du Pod ?
- [ ] Oui, automatiquement
- [x] Non, il faut recréer le Pod
- [ ] Oui, mais seulement avec un Deployment
- [ ] Oui, après un délai de 60 secondes
## Quelle commande permet de créer un Secret à partir d'un fichier sans l'appliquer immédiatement ?
- [x] `kubectl create secret generic <nom> --from-file=<fichier> --dry-run=client -o yaml`
- [ ] `kubectl apply secret --from-file=<fichier> --dry-run`
- [ ] `kubectl create secret --from-file=<fichier> --test`
- [ ] `kubectl generate secret <nom> --from-file=<fichier>`
## Quel est le rôle principal des volumes dans Kubernetes ?
- [x] Persister des données au-delà du cycle de vie d'un conteneur et injecter des fichiers
- [ ] Uniquement stocker les logs des conteneurs
- [ ] Gérer les variables d'environnement
- [ ] Créer des sauvegardes automatiques
## Quel est l'avantage principal d'un volume NFS ?
- [x] Plusieurs Pods peuvent accéder simultanément aux mêmes données, même sur des nœuds différents
- [ ] Il est plus rapide que les autres types de volumes
- [ ] Il ne nécessite aucune configuration
- [ ] Il chiffre automatiquement les données
## Quelle commande permet de lister les fichiers dans un répertoire d'un Pod en cours d'exécution ?
- [x] `kubectl exec -it <pod-name> -- ls <chemin>`
- [ ] `kubectl ls <pod-name> <chemin>`
- [ ] `kubectl files <pod-name> --path <chemin>`
- [ ] `kubectl show files <pod-name> <chemin>`
## Quelle est la différence entre `data` et `stringData` dans un Secret ?
- [x] `stringData` accepte du texte en clair, `data` nécessite du Base64
- [ ] `data` est pour les fichiers, `stringData` pour les variables
- [ ] `stringData` est plus sécurisé que `data`
- [ ] Il n'y a aucune différence, ce sont des alias