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