Quiz Module 12 - Déploiement en Production
Instructions
Ce quiz contient 30 questions à choix multiples.
Question 1
Quelle est une bonne pratique pour déployer en production?
Voir l'explication
Réponse correcte: Mettre en place la haute disponibilité avec plusieurs nodes
Explication: La haute disponibilité est essentielle en production pour éviter les points de défaillance unique et garantir la continuité de service.
Question 2
Qu'est-ce qu'un pipeline CI/CD?
Voir l'explication
Réponse correcte: Un processus automatisé qui construit, teste et déploie des applications
Explication: CI/CD (Continuous Integration/Continuous Deployment) automatise le processus de développement, de test et de déploiement pour accélérer et sécuriser les livraisons.
Question 3
Qu'est-ce que GitOps?
Voir l'explication
Réponse correcte: Une pratique qui utilise Git comme source de vérité pour l'infrastructure et les déploiements
Explication: GitOps utilise Git comme source de vérité unique. Les changements dans Git déclenchent automatiquement la synchronisation avec le cluster Kubernetes.
Question 4
Qu'est-ce qu'ArgoCD?
Voir l'explication
Réponse correcte: Un outil GitOps qui synchronise automatiquement les applications Kubernetes depuis Git
Explication: ArgoCD surveille les repositories Git et synchronise automatiquement les applications Kubernetes avec l'état défini dans Git.
Question 5
Qu'est-ce qu'un Resource Quota dans Kubernetes?
Voir l'explication
Réponse correcte: Une ressource qui limite la quantité totale de ressources (CPU, mémoire) qu'un namespace peut utiliser
Explication: Les Resource Quotas limitent la consommation totale de ressources d'un namespace, empêchant un namespace de consommer toutes les ressources du cluster.
Question 6
Qu'est-ce qu'un LimitRange?
Voir l'explication
Réponse correcte: Une ressource qui définit les limites par défaut et les contraintes de ressources pour les Pods dans un namespace
Explication: LimitRange définit les limites par défaut (requests/limits) pour les Pods qui n'en spécifient pas, et valide que les Pods respectent les contraintes.
Question 7
Quelle est la bonne pratique pour la haute disponibilité en production?
Voir l'explication
Réponse correcte: Utiliser plusieurs nodes, répliquer les composants critiques, et mettre en place des Pod Disruption Budgets
Explication: La haute disponibilité nécessite plusieurs nodes, la réplication des composants critiques (Control Plane, applications), et des PDBs pour garantir la disponibilité pendant les mises à jour.
Question 8
Qu'est-ce qu'un Canary Deployment?
Voir l'explication
Réponse correcte: Une stratégie de déploiement qui déploie une nouvelle version à un petit pourcentage d'utilisateurs pour tester avant le déploiement complet
Explication: Les déploiements Canary permettent de tester une nouvelle version avec un petit pourcentage de trafic avant de déployer à tous les utilisateurs, réduisant les risques.
Question 9
Qu'est-ce qu'un Blue/Green Deployment?
Voir l'explication
Réponse correcte: Une stratégie de déploiement qui maintient deux environnements identiques (blue et green) et bascule le trafic entre eux
Explication: Blue/Green maintient deux versions complètes de l'application et bascule instantanément le trafic, permettant un rollback rapide si nécessaire.
Question 10
Quelle est la bonne pratique pour gérer les secrets en production?
Voir l'explication
Réponse correcte: Utiliser des outils de gestion de secrets externes (Vault, AWS Secrets Manager) avec rotation automatique
Explication: Les secrets doivent être gérés via des outils externes avec chiffrement, audit, et rotation automatique, jamais commités dans Git.
Question 11
Qu'est-ce qu'un Disaster Recovery plan pour Kubernetes?
Voir l'explication
Réponse correcte: Un plan pour restaurer le cluster et les applications en cas de défaillance majeure
Explication: Un plan de Disaster Recovery inclut les backups réguliers, la réplication dans plusieurs zones, et des procédures de restauration testées.
Question 12
Quelle est la bonne pratique pour les backups en production?
Voir l'explication
Réponse correcte: Faire des backups réguliers de etcd, des configurations, et des données applicatives, avec tests de restauration
Explication: Les backups doivent inclure etcd (état du cluster), les configurations (Git), et les données applicatives (bases de données), avec des tests réguliers de restauration.
Question 13
Qu'est-ce qu'un GitHub Actions workflow pour Kubernetes?
Voir l'explication
Réponse correcte: Un pipeline CI/CD automatisé qui construit, teste et déploie des applications Kubernetes
Explication: GitHub Actions permet de créer des workflows qui construisent des images Docker, les poussent vers un registry, et les déploient dans Kubernetes automatiquement.
Question 14
Quelle est la bonne pratique pour les environnements (dev, staging, prod)?
Voir l'explication
Réponse correcte: Séparer les environnements avec des namespaces ou clusters distincts, avec des politiques de sécurité appropriées
Explication: Les environnements devraient être séparés (namespaces ou clusters) avec des politiques de sécurité, quotas, et accès appropriés pour chaque environnement.
Question 15
Qu'est-ce qu'un HPA (Horizontal Pod Autoscaler)?
Voir l'explication
Réponse correcte: Un contrôleur qui ajuste automatiquement le nombre de réplicas de Pods basé sur les métriques de CPU, mémoire, ou personnalisées
Explication: HPA surveille les métriques et ajuste automatiquement le nombre de réplicas pour maintenir les performances sous la charge variable.
Question 16
Quelle est la bonne pratique pour optimiser les coûts en production?
Voir l'explication
Réponse correcte: Utiliser HPA/VPA, définir des requests/limits appropriés, utiliser des instances spot, et monitorer l'utilisation
Explication: L'optimisation des coûts inclut l'auto-scaling, des requests/limits appropriés, l'utilisation d'instances spot pour les charges de travail non critiques, et le monitoring continu.
Question 17
Qu'est-ce qu'un VPA (Vertical Pod Autoscaler)?
Voir l'explication
Réponse correcte: Un contrôleur qui ajuste automatiquement les requests et limits de CPU/mémoire des Pods
Explication: VPA analyse l'utilisation réelle des ressources et ajuste automatiquement les requests et limits pour optimiser l'utilisation des ressources.
Question 18
Quelle est la bonne pratique pour la sécurité en production?
Voir l'explication
Réponse correcte: Appliquer RBAC avec moindre privilège, Network Policies, Pod Security Standards, et scanning d'images
Explication: La sécurité en production nécessite RBAC restrictif, Network Policies pour isoler le trafic, Pod Security Standards, et le scanning d'images pour les vulnérabilités.
Question 19
Qu'est-ce qu'un Cluster Autoscaler?
Voir l'explication
Réponse correcte: Un composant qui ajuste automatiquement le nombre de nodes dans un cluster basé sur la demande
Explication: Cluster Autoscaler ajoute ou supprime des nodes automatiquement quand des Pods ne peuvent pas être planifiés ou quand des nodes sont sous-utilisés.
Question 20
Quelle est la bonne pratique pour les mises à jour en production?
Voir l'explication
Réponse correcte: Utiliser des stratégies de déploiement progressives (rolling updates, canary, blue/green) avec tests et rollback planifié
Explication: Les mises à jour devraient être progressives avec des tests à chaque étape, permettant un rollback rapide si des problèmes sont détectés.
Question 21
Qu'est-ce qu'un Flux dans le contexte GitOps?
Voir l'explication
Réponse correcte: Un outil GitOps alternatif à ArgoCD qui synchronise les applications Kubernetes depuis Git
Explication: Flux est un autre outil GitOps populaire qui utilise des opérateurs Kubernetes pour synchroniser les applications depuis Git.
Question 22
Quelle est la bonne pratique pour le monitoring en production?
Voir l'explication
Réponse correcte: Monitorer les métriques d'application, d'infrastructure, et de business avec alertes actionnables et dashboards
Explication: Le monitoring complet inclut les métriques d'application (latence, erreurs), d'infrastructure (CPU, mémoire), et de business, avec des alertes pour les problèmes critiques.
Question 23
Qu'est-ce qu'un Multi-Cluster Management?
Voir l'explication
Réponse correcte: La gestion de plusieurs clusters Kubernetes depuis un point central
Explication: Le multi-cluster management permet de gérer plusieurs clusters (dev, staging, prod, multi-région) depuis une interface centralisée, facilitant les déploiements et la gouvernance.
Question 24
Quelle est la bonne pratique pour les tests en production?
Voir l'explication
Réponse correcte: Effectuer des tests dans des environnements dédiés (dev, staging) avant la production, avec tests de charge et de sécurité
Explication: Les tests devraient être effectués dans des environnements dédiés avant la production, incluant les tests unitaires, d'intégration, de charge, et de sécurité.
Question 25
Qu'est-ce qu'un Feature Flag dans le contexte du déploiement?
Voir l'explication
Réponse correcte: Un mécanisme qui permet d'activer ou désactiver des fonctionnalités sans redéployer l'application
Explication: Les feature flags permettent de déployer du code avec des fonctionnalités désactivées, puis de les activer progressivement ou de les désactiver rapidement en cas de problème.
Question 26
Quelle est la bonne pratique pour la documentation en production?
Voir l'explication
Réponse correcte: Maintenir une documentation à jour des architectures, procédures de déploiement, runbooks, et procédures d'incident
Explication: La documentation doit inclure les architectures, les procédures opérationnelles, les runbooks pour les incidents courants, et être maintenue à jour.
Question 27
Qu'est-ce qu'un Runbook?
Voir l'explication
Réponse correcte: Un document qui décrit les procédures pour résoudre des incidents et problèmes opérationnels courants
Explication: Les runbooks fournissent des procédures étape par étape pour résoudre des problèmes courants, permettant une résolution rapide et cohérente des incidents.
Question 28
Quelle est la bonne pratique pour la gestion des versions en production?
Voir l'explication
Réponse correcte: Utiliser le Semantic Versioning, tagger les images Docker, et maintenir un historique des déploiements
Explication: Le versioning doit suivre Semantic Versioning (MAJOR.MINOR.PATCH), les images Docker doivent être taggées, et l'historique des déploiements doit être maintenu pour faciliter les rollbacks.
Question 29
Qu'est-ce qu'un Post-Mortem dans le contexte de production?
Voir l'explication
Réponse correcte: Une analyse rétrospective d'un incident pour comprendre ce qui s'est passé et comment l'éviter à l'avenir
Explication: Les post-mortems analysent les incidents pour identifier les causes racines, les leçons apprises, et les actions correctives pour améliorer la fiabilité.
Question 30
Quelle est la bonne pratique pour la gouvernance en production?
Voir l'explication
Réponse correcte: Établir des politiques claires pour les déploiements, la sécurité, les ressources, et la conformité, avec audits réguliers
Explication: La gouvernance établit des politiques pour les déploiements, la sécurité, les quotas de ressources, et la conformité, avec des audits réguliers pour s'assurer de leur respect.
Résultat du Quiz
Félicitations pour avoir complété le quiz du Module 12!
Score:
- 25-30 bonnes réponses: Excellent! Vous maîtrisez le déploiement en production et CI/CD.
- 20-24 bonnes réponses: Très bien! Revoyez les concepts où vous avez eu des difficultés.
- 15-19 bonnes réponses: Bien! Revoyez les chapitres sur la production et CI/CD.
- Moins de 15: Recommandé de revoir le module avant de continuer.
Quiz créé le: Décembre 2024