RousselTMLEARNING

Article · Traefik: From Discovery to Expertise

Deployment strategies: blue/green - canary - rolling

This article is available in French.

1. Choisir une stratégie #

Risque, coût et vitesse de retour arrière.

Comparaison #

Stratégies de déploiement
Traefik porte le blue/green et le canary ; le rolling update relève de l'orchestrateur.
StratégiePrincipeRetour arrièreCoût
RollingLes instances sont remplacées progressivementNouveau déploiement de l'ancienne versionFaible
Blue/greenDeux environnements complets, bascule du traficInstantané (rebasculer)Double capacité pendant la bascule
CanaryUne petite part du trafic sur la nouvelle version, puis augmentationRemettre le poids à 0Faible ; demande de bonnes métriques
MirroringCopie du trafic vers la nouvelle version, réponses ignoréesSans impact utilisateurCharge en double

2. Mise en œuvre #

Services pondérés et bascule.

Canary avec le provider fichier #

http:
  services:
    app:
      weighted:
        services:
          - name: app-v1@docker
            weight: 90
          - name: app-v2@docker
            weight: 10
        sticky:
          cookie: { name: version }      # un utilisateur reste sur la même version
  routers:
    app:
      rule: Host(`app.exemple.fr`)
      service: app

Canary dans Kubernetes (TraefikService) #

apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata: { name: app-canary, namespace: app }
spec:
  weighted:
    services:
      - { name: app-v1, port: 80, weight: 90 }
      - { name: app-v2, port: 80, weight: 10 }

Blue/green et mirroring #

Pour le blue/green, on change le service ciblé par le routeur (app-blue → app-green) ; avec le provider fichier, la bascule est prise en compte à chaud. Le mirroring copie une part du trafic vers une version de test :

http:
  services:
    app-miroir:
      mirroring:
        service: app-v1@docker
        mirrors:
          - { name: app-v2@docker, percent: 20 }

3. Bonnes pratiques #

Déployer sans crainte.

Règles #

  • Définir à l'avance les critères de réussite (taux d'erreurs, latence p95) et les surveiller par service.
  • Rendre les migrations de base de données compatibles avec les deux versions (expand / contract).
  • Automatiser la progression et le retour arrière plutôt que modifier les poids à la main : c'est le rôle de Flagger (article suivant).
  • Health checks sur les services pour que Traefik retire automatiquement une instance défaillante.

📄 Stratégies de déploiement avec Traefik : blue/green, canary et rolling →

My progress

  • ⏱ Estimated time : ≈ 6 min

Sign in to track your progress and take notes. Sign in

💬 Ask a question

Recommended Articles

Canary automatisé avec Flagger et Traefik sur Kubernetes

Automatiser les déploiements canary avec Flagger et Traefik : ressource Canary, analyse des métri...

Maîtriser les ACLs dans HAProxy : Le Guide Complet

Guide complet sur les ACLs HAProxy : apprenez à configurer le routage intelligent, le contrôle d'...

Maîtriser les ACLs dans HAProxy

Guide complet sur les ACLs HAProxy : apprenez à configurer le routage intelligent, le contrôle d'...

CI/CD de bout en bout (4/5) : stratégies de déploiement et retour arrière

Déployer sans interruption et sans risque : recreate, rolling update, blue/green, canary, feature...

L'API de Traefik : inspecter la configuration et sécuriser le tableau de bord

Utiliser l'API REST de Traefik pour inspecter routeurs, services, middlewares et entrypoints, l'e...

Traefik : vue d'ensemble, architecture et premier déploiement

Découvrir Traefik : reverse proxy et load balancer cloud-native, entrypoints, routers, services, ...

Bonnes pratiques Traefik : sécurité, haute disponibilité et observabilité

Bonnes pratiques Traefik : sécurisation du dashboard et du socket Docker, TLS moderne, middleware...

Traefik : sécuriser et transformer les requêtes avec les middlewares (BasicAuth, ForwardAuth…)

Les middlewares Traefik modifient les requêtes et réponses entre le routeur et le service : authe...

Traefik comme Ingress Controller pour Kubernetes (Helm, IngressRoute, Gateway API)

Installer Traefik dans Kubernetes avec Helm et publier des applications avec Ingress, les CRD Ing...

Support us

♥ SUPPORT US

Support RousselTM Learning

Courses, articles, labs and certificates stay free with no intrusive ads. A voluntary contribution, of any amount you choose, pays for hosting, lab environments and new content.

Contribute with PayPal Any amount · card or PayPal accountLearn more
QR code PayPal
Or scan this QR code with your phone

Thank you, every contribution counts!