Pod-livssyklus og tilstander
Forstå de ulike fasene en Pod går gjennom, og hvordan du overvåker statusen.
Pod-livssyklus og tilstander er en gratis leksjon i Grunnleggende Kubernetes på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Grunnleggende Kubernetes, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Grunnleggende Kubernetes inneholder totalt 4 leksjoner.
Pods: En reise gjennom livssyklusen
Pods er ikke statiske; de går gjennom ulike stadier, omtrent som på en reise. Å forstå denne «livssyklusen» er viktig for å administrere applikasjonene dine effektivt i Kubernetes.
Det hjelper deg å vite om appen din er frisk, starter opp eller har støtt på et problem.

Pod-ens fem livsstadier
Kubernetes deler Pods inn i fem hovedfaser. Disse fasene gir en oversikt over Pod-ens nåværende tilstand på høyt nivå:
- Pending: Pod-en er godkjent av Kubernetes, men containerne har ikke startet.
- Running: Minst én container i Pod-en kjører eller starter.
- Succeeded: Alle containerne i Pod-en ble fullført uten feil og vil ikke startes på nytt.
- Failed: Alle containerne er avsluttet, og minst én mislyktes (for eksempel med en kode som ikke er null).
- Unknown: Tilstanden til Pod-en kunne ikke fastslås, ofte på grunn av kommunikasjonsproblemer.
Fase 1: Pods i Pending
En Pod er i fasen Pending når den er godkjent av Kubernetes API-serveren, men én eller flere av containerne ennå ikke er opprettet eller konfigurert.
Vanlige årsaker er:
- Container-imaget lastes fortsatt ned.
- Klyngen har ikke nok ressurser (CPU/minne) til å planlegge Pod-en.
- Volumer klargjøres eller monteres fortsatt.
Observer en Pod i Pending
La oss se på et eksempel. Hvis du prøver å distribuere en Pod med et image som ikke finnes, kan den bli stående i «Pending» eller vise en feil ved henting av imaget.
Her er et eksempel på en Pod-definisjon:
apiVersion: v1
kind: Pod
metadata:
name: pending-pod-demo
spec:
containers:
- name: my-container
image: non-existent-image:latest
ports:
- containerPort: 80For å kontrollere statusen bruker du kubectl get pod. Du kan se noe som dette:
$ kubectl get pod pending-pod-demo
NAME READY STATUS RESTARTS AGE
pending-pod-demo 0/1 ErrImagePull 0 5sErrImagePull viser at imaget ikke kunne hentes, slik at Pod-en ikke når tilstanden Running.
Fase 2: Kjører Pods
Fasen Running betyr at Pod-en er bundet til en node, og at alle containerne er opprettet. Minst én container kjører eller er i ferd med å starte eller starte på nytt.
Det er viktig å merke seg at en Pod i tilstanden Running ikke automatisk betyr at applikasjonen inni er frisk eller fungerer som den skal. Det betyr bare at containerne er aktive.
Få en Pod til å kjøre
Her er en standarddefinisjon av en Pod for en Nginx-webserver. Når De har tatt denne i bruk, skal Pod-en raskt gå over i tilstanden «Running».
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80Når den er distribuert, vil kubectl get pod vise:
$ kubectl get pod nginx-pod
NAME READY STATUS RESTARTS AGE
nginx-pod 1/1 Running 0 10s1/1 i READY bekrefter at én container er klar, av én som er definert.
Fase 3 og 4: Succeeded og Failed
Disse fasene representerer avslutningstilstandene for en Pod:
- Succeeded: En Pod går inn i denne fasen når alle containerne i den er avsluttet uten feil og ikke vil bli startet på nytt. Dette er vanlig for Pods som kjører engangsoppgaver eller batchjobber.
- Failed: En Pod er i fasen Failed når alle containerne i Pod-en er avsluttet, og minst én container ble avsluttet med feil (for eksempel med en statuskode som ikke er null).
Hvis De forstår disse fasene, blir det enklere å diagnostisere fullføring av jobber eller feil i applikasjoner.
Den mystiske Unknown-fasen
Fasen Unknown betyr at det ikke var mulig å fastslå tilstanden til Pod-en. Dette er en sjelden, men kritisk fase.
Det skjer vanligvis når Kubelet (agenten) på noden der Pod-en kjører, slutter å kommunisere med Kubernetes API-serveren. Det kan skyldes et nettverksproblem, en Kubelet som har krasjet, eller et problem med selve noden.
Containertilstander i Pods
Selv om Pods har overordnede faser, har de enkelte containerne i en Pod også mer detaljerte tilstander. Disse tilstandene påvirker Pod-ens overordnede fase direkte:
- Waiting: Containeren venter på å starte. Årsaker kan være henting av et image, tildeling av ressurser eller venting på at init-containere skal bli ferdige.
- Running: Containeren kjører aktivt uten problemer.
- Terminated: Containeren er ferdig med kjøringen. Den kan ha blitt fullført uten feil eller ha mislyktes.
Kontroll av Pod-tilstand
Se for Dem at De nettopp har distribuert en ny Pod. De kjører kubectl get pod my-app og ser følgende resultat:
NAME READY STATUS RESTARTS AGE
my-app 0/1 Pending 0 12sHva er den mest sannsynlige årsaken til at my-app-Pod-en er i tilstanden Pending, med 0/1 klare containere?
Oppsummering av livssyklusen og neste steg
De har lært at Kubernetes Pods går gjennom bestemte faser: Pending, Running, Succeeded, Failed og Unknown. Disse fasene gir et overordnet bilde av en Pod-ens driftsstatus.
Vi har også sett på individuelle containertilstander (Waiting, Running og Terminated), som bidrar til Pod-ens overordnede fase. Det er viktig å overvåke disse tilstandene med kubectl get pod og kubectl describe pod (som De skal utforske mer senere) for å forstå helsetilstanden til applikasjonen.
Deretter skal vi se nærmere på avanserte Pod-mønstre og utforske hvordan De kan kjøre flere samlokaliserte containere i én Pod ved hjelp av sidecar-mønsteret!
Lær deg Grunnleggende Kubernetes med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Pod-livssyklus og tilstander» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Grunnleggende Kubernetes, inkludert «Pod-livssyklus og tilstander», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Grunnleggende Kubernetes inneholder totalt 4 leksjoner.
Hva lærer jeg i «Pod-livssyklus og tilstander»?
Forstå de ulike fasene en Pod går gjennom, og hvordan du overvåker statusen. Du øver på Grunnleggende Kubernetes med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Grunnleggende Kubernetes?
Ingen tidligere erfaring er nødvendig. Grunnleggende Kubernetes på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Pod-livssyklus og tilstander»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Grunnleggende Kubernetes-leksjonen?
Ja. Alle Grunnleggende Kubernetes-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Pods: Den minste enheten
- Pod-livssyklus og tilstander
- Pods med flere containere (sidecars)
- Init-containere og oppstartsrekkefølge