RousselTMLEARNING

Artículo · Traefik: del descubrimiento a la experiencia

Estrategias de despliegue: blue/green - canary - rolling

Este artículo está disponible en francés.

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 →

Mi seguimiento

  • ⏱ Duración estimada : ≈ 6 min

Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión

💬 Hacer una pregunta

Artículos recomendados

Traefik : les métriques avec Prometheus et OpenTelemetry

Exposer les métriques de Traefik (Prometheus ou OTLP), comprendre les séries par entrypoint, rout...

Gestion des certificats SSL/TLS avec Let's Encrypt et ACME

Apprenez à automatiser la génération et le renouvellement de vos certificats SSL/TLS avec Let's E...

Protocole ACME : serveur ACME, challenges http-01 et dns-01, automatisation TLS

Comprendre le protocole ACME : rôle du serveur ACME (Let's Encrypt, ZeroSSL, step-ca), challenges...

Traefik : les providers (Docker, Kubernetes, Nomad, Consul, fichiers, clés-valeurs)

Les providers alimentent la configuration dynamique de Traefik : découverte des services Docker, ...

Les plugins Traefik : l'exemple de CrowdSec pour bloquer les attaques

Étendre Traefik avec des plugins (catalogue officiel, interpréteur Yaegi), puis protéger ses appl...

Traefik : les logs (journaux applicatifs et access logs)

Configurer les deux journaux de Traefik : le journal de fonctionnement (niveaux, format) et les a...

Traefik : le tracing distribué avec OpenTelemetry

Activer le tracing de Traefik v3 avec OpenTelemetry (OTLP), propager le contexte W3C vers les app...

HAProxy dans Kubernetes : L'Ingress Controller Haute Performance

Découvrez en profondeur l'intégration de HAProxy dans Kubernetes. Architecture Direct-to-Pod, opt...

Le Load Balancing : Principes, Algorithmes et Cas d'usage

Découvrez le fonctionnement de la répartition de charge (Load Balancing), son rôle dans la haute ...

Apoyar

♥ APOYAR

Apoya RousselTM Learning

Los cursos, artículos, prácticas y certificados siguen siendo gratuitos y sin publicidad intrusiva. Una contribución libre, por el importe que elijas, financia el alojamiento, los entornos de prácticas y nuevos contenidos.

Contribuir con PayPal Importe libre · tarjeta o cuenta PayPalMás información
QR code PayPal
O escanea este código QR con tu teléfono

¡Gracias, cada contribución cuenta!