De basis van Kubernetes · Les

Deploymentstrategieën: blue-green en canary

Ga verder dan rolling updates en leer veilig releasen met blue-green- en canary-deploymentpatronen in Kubernetes.

Les 4 van 413 stappen

Deploymentstrategieën: blue-green en canary is een gratis De basis van Kubernetes-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject De basis van Kubernetes. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus De basis van Kubernetes bevat in totaal 4 lessen.

Waarom meer dan rolling updates?

Rolling updates vervangen Pods geleidelijk, maar tijdens de overgang worden oude en nieuwe versies door elkaar gebruikt. Voor risicovolle uitrollen wil je misschien volledige controle over welke gebruikers de nieuwe versie zien.

Met blue-green- en canary-strategieën krijg je die controle.

Het blue-green-idee

Bij een blue-green-uitrol voer je twee identieke omgevingen uit:

  • Blue = de huidige liveversie
  • Green = de nieuwe versie, volledig uitgerold maar nog zonder verkeer

Je schakelt al het verkeer in één keer van blue naar green.

Twee Deployments, één Service

Elke versie heeft zijn eigen Deployment met een versielabel. Eén Service selecteert de kleur die live is.

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

Verkeer omschakelen

Om green live te zetten, pas je eenvoudig de selector van de Service aan zodat deze naar de green-versie verwijst. De omschakeling is direct.

kubectl patch service web -p '{"spec":{"selector":{"app":"web","version":"green"}}}'

Voor- en nadelen van blue-green

  • Voordeel: direct terugdraaien door terug te schakelen naar blue
  • Voordeel: geen gemengde versies tijdens de uitrol
  • Nadeel: tijdens de overlap zijn twee keer zoveel resources nodig

Het canary-idee

Bij een canary-uitrol stuur je eerst een klein deel van het verkeer naar de nieuwe versie. Als de meetwaarden er goed uitzien, schaal je deze geleidelijk op.

De naam komt van kanaries die mijnwerkers gebruikten om gevaar vroeg te detecteren.

Canary met replica-aantallen

Een eenvoudige canary gebruikt twee Deployments met hetzelfde Servicelabel. Het verkeer wordt ongeveer verdeeld volgens de verhouding tussen de replica-aantallen.

# stable: 9 replicas, canary: 1 replica => ~10% to canary
kubectl scale deployment app-stable --replicas=9
kubectl scale deployment app-canary --replicas=1

Een canary promoten

Naarmate je meer vertrouwen krijgt, verschuif je de verhouding richting de canary. Daarna verwijder je de oude versie zodra deze al het verkeer bedient.

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=0

De canary observeren

Observatie is precies het doel van een canary. Bekijk foutpercentages, latentie en logboeken voordat je deze promoot.

kubectl get pods -l version=canary
kubectl logs -l version=canary --tail=50

Een strategie kiezen

  • Blue-green: het beste als je een schone, directe omschakeling en snel terugdraaien wilt
  • Canary: het beste als je de omvang van de impact wilt beperken en met echt verkeer wilt valideren
  • Rolling: een goede standaard voor updates met een laag risico die regelmatig worden uitgevoerd

Hulpmiddelen naast kubectl

Voor een zeer nauwkeurige verdeling van verkeer (bijvoorbeeld precies 5%) gebruiken teams servicemeshes zoals Istio of hulpmiddelen voor stapsgewijze uitrol, zoals Argo Rollouts en Flagger, die de canary-analyse automatiseren.

Korte controle

Kies de bewering die een canary-uitrol het best beschrijft.

Samenvatting

Je hebt geavanceerde strategieën voor uitrollen vergeleken. Blue-green schakelt al het verkeer direct tussen twee omgevingen om snel terug te kunnen draaien, terwijl canary het verkeer geleidelijk verschuift om het risico te beperken. Beide bouwen voort op de Deployment- en Service-bouwstenen die je al kent.

Gratis beginnen

Leer De basis van Kubernetes met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Deploymentstrategieën: blue-green en canary” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad De basis van Kubernetes, waaronder “Deploymentstrategieën: blue-green en canary”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus De basis van Kubernetes bevat in totaal 4 lessen.

Wat leer ik in “Deploymentstrategieën: blue-green en canary”?

Ga verder dan rolling updates en leer veilig releasen met blue-green- en canary-deploymentpatronen in Kubernetes. Je oefent met De basis van Kubernetes door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met De basis van Kubernetes te beginnen?

Ervaring vooraf is niet nodig. De basis van Kubernetes op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Deploymentstrategieën: blue-green en canary”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over De basis van Kubernetes?

Ja. Elke les over De basis van Kubernetes bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Deployments begrijpen
  2. Applicaties schalen met ReplicaSets
  3. Rolling updates en rollbacks
  4. Deploymentstrategieën: blue-green en canary
← Terug naar De basis van Kubernetes