Deploymentstrategieën: blue-green en canary
Ga verder dan rolling updates en leer veilig releasen met blue-green- en canary-deploymentpatronen in Kubernetes.
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.0Verkeer 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=1Een 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=0De 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=50Een 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.
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
- Deployments begrijpen
- Applicaties schalen met ReplicaSets
- Rolling updates en rollbacks
- Deploymentstrategieën: blue-green en canary