Aller au contenu principal

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