Levenscyclus en statussen van Pods
Begrijp de verschillende fasen die een Pod doorloopt en leer hoe u de status ervan monitort.
Levenscyclus en statussen van Pods is een gratis De basis van Kubernetes-les op CoddyKit. Dit is les 2 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.
Pods: een reis door het leven
Pods zijn niet statisch; ze doorlopen verschillende fasen, net als tijdens een reis. Inzicht in deze "levenscyclus" is essentieel om je applicaties effectief in Kubernetes te beheren.
Zo weet je of je app gezond is, wordt opgestart of een probleem heeft ondervonden.

De vijf levensfasen van een Pod
Kubernetes deelt Pods in vijf hoofdfasen in. Deze fasen geven een overzicht op hoog niveau van de huidige toestand van een Pod:
- Pending: de Pod is door Kubernetes geaccepteerd, maar de containers zijn nog niet gestart.
- Running: ten minste één container in de Pod wordt uitgevoerd of gestart.
- Succeeded: alle containers in de Pod zijn succesvol voltooid en worden niet opnieuw gestart.
- Failed: alle containers zijn beëindigd en ten minste één container is mislukt (bijvoorbeeld met een code die niet nul is).
- Unknown: de toestand van de Pod kon niet worden vastgesteld, vaak door communicatieproblemen.
Fase 1: Pods in afwachting
Een Pod bevindt zich in de fase Pending wanneer deze door de Kubernetes-API-server is geaccepteerd, maar een of meer containers nog niet zijn gemaakt of geconfigureerd.
Veelvoorkomende redenen zijn:
- De containerimage wordt nog gedownload.
- Het cluster heeft niet genoeg resources (CPU/geheugen) om de Pod in te plannen.
- Volumes worden nog beschikbaar gemaakt of gekoppeld.
Een Pod in afwachting bekijken
Laten we naar een voorbeeld kijken. Als je een Pod probeert te implementeren met een image die niet bestaat, kan deze blijven hangen in 'Pending' of een fout bij het ophalen van de image tonen.
Hier is een voorbeeld van een Pod-definitie:
apiVersion: v1
kind: Pod
metadata:
name: pending-pod-demo
spec:
containers:
- name: my-container
image: non-existent-image:latest
ports:
- containerPort: 80Gebruik kubectl get pod om de status te controleren. Je ziet mogelijk iets als het volgende:
$ kubectl get pod pending-pod-demo
NAME READY STATUS RESTARTS AGE
pending-pod-demo 0/1 ErrImagePull 0 5sErrImagePull geeft aan dat de image niet kon worden opgehaald, waardoor de Pod de status Running niet bereikt.
Fase 2: actieve Pods
De fase Actief betekent dat de Pod aan een node is gekoppeld en dat al zijn containers succesvol zijn aangemaakt. Er draait ten minste één container, of deze wordt gestart of opnieuw gestart.
Het is belangrijk om te weten dat een actieve Pod niet automatisch betekent dat de applicatie erin gezond of volledig functioneel is. Het betekent alleen dat de containers actief zijn.
Een Pod actief krijgen
Hier is een standaarddefinitie van een Pod voor een Nginx-webserver. Nadat je deze hebt toegepast, hoort je Pod snel de status 'Running' te krijgen.
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80Na de implementatie zou kubectl get pod het volgende tonen:
$ kubectl get pod nginx-pod
NAME READY STATUS RESTARTS AGE
nginx-pod 1/1 Running 0 10sDe waarde 1/1 in READY bevestigt dat één container gereed is van de één die is gedefinieerd.
Fase 3 en 4: geslaagd en mislukt
Deze fasen staan voor de beëindigingsstatussen van een Pod:
- Geslaagd: Een Pod komt in deze fase terecht wanneer alle containers erin succesvol zijn beëindigd en niet opnieuw worden gestart. Dit is gebruikelijk voor Pods die eenmalige taken of batchtaken uitvoeren.
- Mislukt: Een Pod bevindt zich in de fase Mislukt wanneer alle containers in de Pod zijn beëindigd en ten minste één container met een fout is beëindigd, bijvoorbeeld met een statuscode die niet nul is.
Als je deze fasen begrijpt, kun je voltooide taken en fouten in applicaties beter vaststellen.
De mysterieuze fase Onbekend
De fase Onbekend betekent dat de status van de Pod niet kon worden vastgesteld. Dit is een zeldzame maar kritieke fase.
Dit gebeurt meestal wanneer de Kubelet (de agent) op de node waarop de Pod draait niet meer communiceert met de Kubernetes API-server. Dit kan komen door een netwerkprobleem, een vastgelopen Kubelet of een probleem met de node zelf.
Containerstatussen binnen Pods
Hoewel Pods algemene fasen hebben, hebben afzonderlijke containers in een Pod ook hun eigen, gedetailleerdere statussen. Deze statussen hebben rechtstreeks invloed op de algemene fase van de Pod:
- Wachten: De container wacht momenteel om te worden gestart. Mogelijke redenen zijn het ophalen van de image, het toewijzen van resources of het wachten tot init-containers zijn voltooid.
- Actief: De container wordt actief uitgevoerd zonder problemen.
- Beëindigd: De container heeft zijn uitvoering voltooid. Dit kan geslaagd of mislukt zijn.
Podstatus controleren
Stel je voor dat je net een nieuwe Pod hebt geïmplementeerd. Je voert kubectl get pod my-app uit en ziet de volgende uitvoer:
NAME READY STATUS RESTARTS AGE
my-app 0/1 Pending 0 12sWat is de meest waarschijnlijke reden dat de Pod my-app de status Pending heeft, terwijl 0/1 containers gereed zijn?
Samenvatting van de levenscyclus en volgende stappen
Je hebt geleerd dat Kubernetes-Pods verschillende fasen doorlopen: Pending, Running, Succeeded, Failed en Unknown. Deze fasen geven inzicht op hoofdlijnen in de operationele status van een Pod.
We hebben ook gekeken naar afzonderlijke containerstatussen (Waiting, Running en Terminated), die bijdragen aan de algemene fase van de Pod. Het bewaken van deze statussen met kubectl get pod en kubectl describe pod (waar je later dieper op ingaat) is essentieel om de gezondheid van je applicatie te begrijpen.
Vervolgens gaan we in op geavanceerde Pod-patronen en bekijken we hoe je meerdere naast elkaar geplaatste containers binnen één Pod uitvoert met het sidecar-patroon!
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 “Levenscyclus en statussen van Pods” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad De basis van Kubernetes, waaronder “Levenscyclus en statussen van Pods”, 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 “Levenscyclus en statussen van Pods”?
Begrijp de verschillende fasen die een Pod doorloopt en leer hoe u de status ervan monitort. 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 2 van 4.
Hoe lang duurt de les “Levenscyclus en statussen van Pods”?
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
- Pods: de kleinste eenheid
- Levenscyclus en statussen van Pods
- Pods met meerdere containers (sidecars)
- Init-containers en opstartvolgorde