Stratégies de déploiement : blue-green et canary
Allez au-delà des mises à jour progressives et apprenez à publier vos applications en toute sécurité avec les modèles de déploiement blue-green et canary dans Kubernetes.
Stratégies de déploiement : blue-green et canary est une leçon Kubernetes Basics gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kubernetes Basics, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kubernetes Basics comprend 4 leçons au total.
Pourquoi ne pas se limiter aux mises à jour progressives ?
Les mises à jour progressives remplacent les pods petit à petit, mais mélangent les anciennes et les nouvelles versions pendant la transition. Pour les mises en production risquées, vous pouvez vouloir contrôler entièrement quels utilisateurs voient la nouvelle version.
Les stratégies bleu-vert et canari vous donnent ce contrôle.
L’idée du bleu-vert
Lors d’un déploiement bleu-vert, vous exécutez deux environnements identiques :
- Bleu = version actuellement en production
- Vert = nouvelle version, entièrement déployée mais ne recevant pas encore de trafic
Vous basculez tout le trafic du bleu vers le vert en une seule fois.
Deux déploiements, un seul service
Chaque version possède son propre déploiement avec une étiquette de version. Un seul service sélectionne la couleur actuellement en production.
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-blue
spec:
replicas: 3
selector:
matchLabels:
app: web
version: blue
template:
metadata:
labels:
app: web
version: blue
spec:
containers:
- name: web
image: myapp:1.0Basculer le trafic
Pour mettre la version verte en production, il vous suffit de modifier le sélecteur du service afin qu’il pointe vers la version verte. Le basculement est instantané.
kubectl patch service web -p '{"spec":{"selector":{"app":"web","version":"green"}}}'Avantages et inconvénients du bleu-vert
- Avantage : retour instantané en arrière en repassant au bleu
- Avantage : aucun mélange de versions pendant la mise en production
- Inconvénient : deux fois plus de ressources sont nécessaires pendant la période de chevauchement
L’idée du canari
Une mise en production canari envoie d’abord une petite partie du trafic vers la nouvelle version. Si les indicateurs semblent bons, vous augmentez progressivement sa capacité.
Le nom vient des canaris que les mineurs utilisaient pour détecter rapidement les dangers.
Canari avec un nombre de répliques
Un canari simple utilise deux déploiements partageant la même étiquette de service. Le trafic se répartit approximativement selon le rapport entre leurs nombres de répliques.
# stable: 9 replicas, canary: 1 replica => ~10% to canary
kubectl scale deployment app-stable --replicas=9
kubectl scale deployment app-canary --replicas=1Généraliser un canari
À mesure que votre confiance augmente, vous modifiez le rapport en faveur du canari, puis retirez l’ancienne version lorsqu’il prend en charge tout le trafic.
kubectl scale deployment app-canary --replicas=5
kubectl scale deployment app-stable --replicas=5
# later, fully promote
kubectl scale deployment app-canary --replicas=10
kubectl scale deployment app-stable --replicas=0Observer le canari
Tout l’intérêt d’un canari réside dans l’observation. Surveillez les taux d’erreur, la latence et les journaux avant de généraliser son déploiement.
kubectl get pods -l version=canary
kubectl logs -l version=canary --tail=50Choisir une stratégie
- Bleu-vert : idéal pour un basculement net et instantané ainsi qu’un retour en arrière rapide
- Canari : idéal pour limiter l’ampleur d’un incident et valider la version avec du trafic réel
- Progressive : bon choix par défaut pour les mises à jour courantes et peu risquées
Outils au-delà de kubectl
Pour une répartition très précise du trafic (par exemple 5 % exactement), les équipes utilisent des maillages de services comme Istio ou des outils de déploiement progressif tels qu’Argo Rollouts et Flagger, qui automatisent l’analyse des versions canari.
Vérification rapide
Choisissez l’énoncé qui décrit le mieux une mise en production canari.
Récapitulatif
Vous avez comparé des stratégies avancées de mise en production. Le bleu-vert bascule instantanément tout le trafic entre deux environnements pour permettre un retour en arrière rapide, tandis que le canari transfère progressivement le trafic afin de limiter les risques. Les deux stratégies s’appuient sur les éléments de base du déploiement et du service que vous connaissez déjà.
Questions Fréquemment Posées
La leçon « Stratégies de déploiement : blue-green et canary » est-elle gratuite ?
Oui — le texte complet de « Stratégies de déploiement : blue-green et canary » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kubernetes Basics, passe à CoddyKit PRO. Le cours Kubernetes Basics comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Stratégies de déploiement : blue-green et canary » ?
Allez au-delà des mises à jour progressives et apprenez à publier vos applications en toute sécurité avec les modèles de déploiement blue-green et canary dans Kubernetes. Tu pratiques Kubernetes Basics avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Kubernetes Basics ?
Aucune expérience préalable n'est requise. Kubernetes Basics sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Stratégies de déploiement : blue-green et canary » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Kubernetes Basics ?
Oui. Chaque leçon Kubernetes Basics inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Comprendre les Deployments
- Mettre les applications à l’échelle avec les ReplicaSets
- Mises à jour progressives et retours en arrière
- Stratégies de déploiement : blue-green et canary