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

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

HAProxy dans Kubernetes : L'Ingress Controller Haute Performance

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

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

Kubernetes : Pods, ReplicaSets et Deployments (déployer et mettre à jour)

Maîtriser les workloads Kubernetes : anatomie d'un pod, ReplicaSet, Deployment, stratégies Rollin...

HAProxy comme Ingress Controller Kubernetes : Le Guide de Production

Découvrez comment utiliser HAProxy comme Ingress Controller dans Kubernetes. Architecture Direct-...

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

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!