Podin elinkaari ja tilat
Ymmärtäkää, mitä eri vaiheita Pod käy läpi ja miten sen tilaa seurataan.
Podin elinkaari ja tilat on ilmainen Kubernetesin perusteet-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Kubernetesin perusteet-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Kubernetesin perusteet-kurssilla on yhteensä 4 oppituntia.
Podien elämänvaiheet
Podit eivät ole staattisia, vaan ne käyvät läpi eri vaiheita aivan kuin matkalla. Tämän "elinkaaren" ymmärtäminen on olennaista, jotta voit hallita sovelluksiasi tehokkaasti Kubernetesissa.
Sen avulla tiedät, onko sovelluksesi terve, käynnistymässä vai kohdannut ongelman.

Podin viisi elämänvaihetta
Kubernetes jakaa Podit viiteen päävaiheeseen. Vaiheet antavat yleiskuvan Podin nykyisestä tilasta:
- Pending: Kubernetes on hyväksynyt Podin, mutta sen kontit eivät ole vielä käynnistyneet.
- Running: Ainakin yksi Podin konteista on käynnissä tai käynnistymässä.
- Succeeded: Kaikki Podin kontit suorittivat tehtävänsä onnistuneesti, eikä niitä käynnistetä uudelleen.
- Failed: Kaikki kontit ovat päättyneet ja ainakin yksi niistä epäonnistui (esimerkiksi päättyi nollasta poikkeavaan paluuarvoon).
- Unknown: Podin tilaa ei voitu määrittää, yleensä viestintäongelmien vuoksi.
Vaihe 1: Pending-tilassa olevat Podit
Pod on Pending-vaiheessa, kun Kubernetesin API-palvelin on hyväksynyt sen, mutta yhtä tai useampaa sen konteista ei ole vielä luotu tai määritetty.
Yleisiä syitä ovat:
- Kontti-imagea ladataan parhaillaan.
- Klusterissa ei ole riittävästi resursseja (suoritinaikaa tai muistia) Podin ajoittamiseen.
- Volyymeja valmistellaan tai liitetään parhaillaan.
Pending-tilassa olevan Podin tarkkailu
Tarkastellaan esimerkkiä. Jos yrität ottaa käyttöön Podin imagen avulla, jota ei ole olemassa, se saattaa jäädä Pending-tilaan tai näyttää imagen latausvirheen.
Tässä on esimerkki Podin määrittelystä:
apiVersion: v1
kind: Pod
metadata:
name: pending-pod-demo
spec:
containers:
- name: my-container
image: non-existent-image:latest
ports:
- containerPort: 80Tarkista tila komennolla kubectl get pod. Voit nähdä esimerkiksi seuraavanlaisen tulosteen:
$ kubectl get pod pending-pod-demo
NAME READY STATUS RESTARTS AGE
pending-pod-demo 0/1 ErrImagePull 0 5sErrImagePull ilmaisee, ettei imagea voitu noutaa, minkä vuoksi Pod ei siirry Running-tilaan.
Vaihe 2: Podien suoritus
Running-vaihe tarkoittaa, että Pod on sidottu solmuun ja kaikki sen kontit on luotu onnistuneesti. Vähintään yksi kontti on käynnissä tai sitä käynnistetään tai käynnistetään uudelleen.
On tärkeää huomata, että Running-tilassa oleva Pod ei automaattisesti tarkoita, että sen sisällä oleva sovellus on terve tai täysin toimintakuntoinen. Se tarkoittaa vain, että kontit ovat aktiivisia.
Podin käynnistäminen
Tässä on tavallinen Pod-määritys Nginx-verkkopalvelimelle. Kun tämä on otettu käyttöön, Podin pitäisi siirtyä nopeasti 'Running'-tilaan.
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80Kun Pod on otettu käyttöön, komento kubectl get pod näyttää seuraavan:
$ kubectl get pod nginx-pod
NAME READY STATUS RESTARTS AGE
nginx-pod 1/1 Running 0 10sREADY-sarakkeen arvo 1/1 vahvistaa, että yksi määritellyistä konteista on valmis.
Vaiheet 3 ja 4: Succeeded ja Failed
Nämä vaiheet kuvaavat Podin päättymistiloja:
- Succeeded: Pod siirtyy tähän vaiheeseen, kun kaikki sen kontit ovat päättyneet onnistuneesti eikä niitä käynnistetä uudelleen. Tämä on tyypillistä kertaluonteisia tehtäviä tai eräajoja suorittaville Podeille.
- Failed: Pod on Failed-vaiheessa, kun kaikki Podin kontit ovat päättyneet ja vähintään yksi kontti on päättynyt epäonnistuneesti (esimerkiksi palauttanut nollasta poikkeavan tilakoodin).
Näiden vaiheiden ymmärtäminen auttaa selvittämään töiden valmistumiseen tai sovelluksen virheisiin liittyviä ongelmia.
Salaperäinen Unknown-vaihe
Unknown-vaihe tarkoittaa, ettei Podin tilaa voitu määrittää. Tämä vaihe on harvinainen mutta kriittinen.
Se ilmenee yleensä, kun solmussa, jossa Pod suoritetaan, oleva Kubelet-agentti lakkaa viestimästä Kubernetes-API-palvelimen kanssa. Syynä voi olla verkko-ongelma, kaatunut Kubelet tai itse solmussa oleva ongelma.
Podien sisäiset konttien tilat
Vaikka Podeilla on yleiset vaiheet, Podin yksittäisillä konteilla on myös tarkemmat omat tilansa. Nämä tilat vaikuttavat suoraan Podin yleiseen vaiheeseen:
- Waiting: Kontti odottaa parhaillaan käynnistymistä. Syitä voivat olla näköistiedoston noutaminen, resurssien varaaminen tai init-konttien valmistumisen odottaminen.
- Running: Kontti suorittaa aktiivisesti toimintojaan ilman ongelmia.
- Terminated: Kontti on saanut suorituksensa päätökseen. Se on voinut päättyä onnistuneesti tai epäonnistuneesti.
Podin tilan tarkistaminen
Kuvitellaan, että olette juuri ottaneet käyttöön uuden Podin. Suoritatte komennon kubectl get pod my-app ja näette seuraavan tulosteen:
NAME READY STATUS RESTARTS AGE
my-app 0/1 Pending 0 12sMikä on todennäköisin syy siihen, että my-app-Pod on Pending-tilassa ja valmiita kontteja on 0/1?
Elinkaaren kertaus ja seuraavat vaiheet
Olette oppineet, että Kubernetesin Podit etenevät eri vaiheiden kautta: Pending, Running, Succeeded, Failed ja Unknown. Nämä vaiheet antavat yleiskuvan Podin toiminnallisesta tilasta.
Perehdyimme myös yksittäisten konttien tiloihin (Waiting, Running ja Terminated), jotka vaikuttavat Podin yleiseen vaiheeseen. Näiden tilojen seuraaminen komennoilla kubectl get pod ja kubectl describe pod (joihin tutustutte myöhemmin tarkemmin) on tärkeää sovelluksen kunnon ymmärtämiseksi.
Seuraavaksi perehdymme edistyneisiin Pod-malleihin ja siihen, miten yhdessä Podissa suoritetaan useita rinnakkain sijaitsevia kontteja sidecar-mallin avulla.
Opi Kubernetesin perusteet tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Podin elinkaari ja tilat” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Kubernetesin perusteet-oppimispolun 3 oppituntia, myös oppitunnin “Podin elinkaari ja tilat”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Kubernetesin perusteet-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Podin elinkaari ja tilat”?
Ymmärtäkää, mitä eri vaiheita Pod käy läpi ja miten sen tilaa seurataan. Harjoittelet Kubernetesin perusteet-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Kubernetesin perusteet-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Kubernetesin perusteet-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Podin elinkaari ja tilat”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Kubernetesin perusteet-oppitunnilla?
Kyllä. Jokainen Kubernetesin perusteet-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Podit: pienin yksikkö
- Podin elinkaari ja tilat
- Monikonttiset podit (sidecarit)
- Init-säilöt ja käynnistysjärjestys