RousselTMLEARNING

Artículo · Traefik: del descubrimiento a la experiencia

Canary deployment - Flagger

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

1. Le principe #

Le canary sans intervention humaine.

Fonctionnement #

Flagger est un opérateur Kubernetes de progressive delivery. À partir d'un Deployment, il crée une version primary (stable) et une version canary, puis pilote un TraefikService pondéré. À chaque nouvelle image, il augmente progressivement la part de trafic du canary tant que les métriques restent bonnes, puis le promeut ; sinon il revient en arrière.

Analyse canary de Flagger
Les décisions reposent sur des métriques Prometheus, pas sur un opérateur humain.

2. Installation et ressource Canary #

Flagger avec le provider Traefik.

Installation #

helm repo add flagger https://flagger.app
helm upgrade --install flagger flagger/flagger -n traefik \
  --set meshProvider=traefik \
  --set metricsServer=http://prometheus.monitoring:9090

Canary #

apiVersion: flagger.app/v1beta1
kind: Canary
metadata: { name: app, namespace: app }
spec:
  provider: traefik
  targetRef: { apiVersion: apps/v1, kind: Deployment, name: app }
  service: { port: 80, targetPort: 8080 }
  analysis:
    interval: 1m
    threshold: 5                 # 5 analyses en échec = retour arrière
    maxWeight: 50
    stepWeight: 10
    metrics:
      - name: request-success-rate
        thresholdRange: { min: 99 }
        interval: 1m
      - name: request-duration
        thresholdRange: { max: 500 }   # millisecondes
        interval: 1m
    webhooks:
      - name: tests-de-fumee
        type: pre-rollout
        url: http://flagger-loadtester.app/
        metadata: { cmd: "curl -sf http://app-canary.app/healthz" }

3. Suivre et déclencher #

Au quotidien.

Commandes #

kubectl -n app set image deploy/app app=registre/app:2.1.0   # déclenche une analyse
kubectl -n app get canary app -w                                # Progressing, Succeeded, Failed
kubectl -n app describe canary app                              # événements : poids, métriques, décisions
kubectl -n app get traefikservice
  • Générez du trafic pendant l'analyse (loadtester) : sans requêtes, les métriques sont vides et l'analyse échoue.
  • Choisissez des seuils alignés sur vos SLO.
  • Envoyez les événements de Flagger dans le canal de l'équipe (alerting Slack ou Teams).
Bonne Pratique : Commencez sur un service peu critique et observez plusieurs déploiements avant de généraliser.

📄 Canary automatisé avec Flagger et Traefik sur Kubernetes →

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

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

Mettre en œuvre les stratégies de déploiement avec Traefik : rolling update par l'orchestrateur, ...

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 : les métriques avec Prometheus et OpenTelemetry

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

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...

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

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

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, ...

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 : vue d'ensemble, architecture et premier déploiement

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

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!