DevOps-bootcamp · Oppitunti

Podit: pienimmät yksiköt

Tutustukaa Kubernetesin keskeisiin rakennuspalikoihin, podeihin, ja oppikaa määrittämään ja hallinnoimaan niitä.

Oppitunti 2/411 vaihetta

Podit: pienimmät yksiköt on ilmainen DevOps-bootcamp-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 DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

Mikä on Kubernetes Pod?

Kubernetesissa pienin ja perustavanlaatuisin käyttöönotettava yksikkö on Pod. Podia voi ajatella yksittäisenä ”talona”, joka sisältää yhden tai useamman kontin.

Podit ovat konttien päällä oleva abstraktiotaso. Ne edustavat klusterissa suoritettavaa prosessia ja kapseloivat sovelluskontit, tallennusresurssit, yksilöllisen verkko-IP-osoitteen sekä asetukset, jotka määrittävät, miten konttien tulee toimia.

Podit: pienimmät yksiköt — kuvitus 1

Pod ja kontti: ero

Saatatte miettiä: ”Miksi tarvitsen Podin, jos minulla on jo kontteja?” Tässä on keskeinen ero:

  • Kontti (kuten Docker-kontti) on sovelluksen ja sen riippuvuuksien paketti.
  • Pod on Kubernetesin abstraktiotaso, joka sisältää yhden tai useamman kontin ja tarjoaa niille jaetut resurssit sekä yhteisen verkkotunnisteen.

Kontti on varsinainen suoritettava yksikkö, kun taas Pod on tapa, jolla Kubernetes hallitsee ja orkestroi näitä suoritettavia yksiköitä.

Miksi podeja käytetään?

Podit tarjoavat useita tärkeitä etuja:

  • Jaettu verkkoavaruus: Kaikki Podin kontit käyttävät samaa IP-osoitetta ja samoja verkkoportteja. Ne voivat viestiä keskenään käyttämällä osoitetta localhost.
  • Jaettu tallennustila: Podit voivat jakaa tallennustaltioita, jolloin saman Podin kontit voivat käyttää yhteisiä tietoja.
  • Sijoittaminen ja ajoittaminen yhdessä: Tiiviisti yhdessä toimivien konttien (esimerkiksi sovelluksen ja lokitusagentin) suorittaminen samassa nodessa voidaan varmistaa, ja ne ajoitetaan aina yhdessä.

Pod-määrittelyn rakenne

Podit määritellään YAML-määritystiedostoilla. Niistä löytyvät seuraavat keskeiset komponentit:

  • apiVersion: Määrittää Kubernetes API:n version (esimerkiksi v1).
  • kind: Kubernetes-objektin tyyppi, joka tässä tapauksessa on Pod.
  • metadata: Sisältää tietoja, kuten Podin name-nimen ja labels-tunnisteet.
  • spec: Podin haluttu tila, mukaan lukien suoritettavat containers-kontit, volumes-taltioinnit ja muut asetukset.

Yhden kontin Podin määrittäminen

Useimmat Podit sisältävät yhden kontin. Tämä on tavallista yksinkertaisissa sovelluksissa. Tässä on perusmääritys Podille, joka suorittaa Nginx-verkkopalvelinta:

apiVersion: v1
kind: Pod
metadata:
  name: my-nginx-pod
  labels:
    app: webserver
spec:
  containers:
  - name: nginx-container
    image: nginx:latest
    ports:
    - containerPort: 80

Ensimmäisen Podin käyttöönotto

Pod luodaan YAML-tiedostosta käyttämällä komentoa kubectl apply. Tämä käskee Kubernetesia luomaan tai päivittämään resurssit määrittelyn perusteella.

Oletetaan, että tallennatte edellisen Nginx Pod -määrittelyn nimellä nginx-pod.yaml. Ottaisitte sen käyttöön näin:

  • kubectl apply -f nginx-pod.yaml

Kubernetes ajoittaa Podin suoritettavaksi jossakin worker-nodessa.

Podien tarkasteleminen: Get ja Describe

Kun Podit on otettu käyttöön, haluatte tarkistaa niiden tilan. Tässä on kaksi olennaista kubectl-komentoa:

  • kubectl get pods: Luettelee kaikki nykyisen nimiavaruuden Podit ja näyttää niiden nimen, tilan ja noden.
  • kubectl describe pod <pod-name>: Antaa yksityiskohtaiset tiedot tietystä Podista, mukaan lukien tapahtumat, kontin tilan ja sille määritetyt resurssit.

Nämä komennot ovat tärkeitä valvonnassa ja vianmäärityksessä.

Usean kontin Podit: sidecarit

Vaikka yhden kontin Podit ovat yleisiä, joissakin tilanteissa usean kontin Podeista on hyötyä. Klassinen esimerkki on Sidecar Pattern.

Sidecar-kontti suoritetaan pääsovelluskontin rinnalla samassa Podissa, ja se suorittaa aputoimintoja, kuten:

  • Lokitus- ja valvonta-agentit
  • Tietojen synkronointi
  • Verkkoliikenteen välityspalveluna toimiminen

Kontit jakavat Podin verkon ja tallennustilan, mikä tehostaa niiden välistä viestintää.

Esimerkki: usean kontin Pod

Tässä on esimerkki usean kontin Podista. Se sisältää Nginx-verkkopalvelimen ja busybox-sidecar-kontin, joka kirjoittaa lokit jaettuun taltioon.

apiVersion: v1
kind: Pod
metadata:
  name: multi-container-pod
spec:
  volumes:
  - name: shared-log-volume
    emptyDir: {}
  containers:
  - name: web-server
    image: nginx:latest
    ports:
    - containerPort: 80
    volumeMounts:
    - name: shared-log-volume
      mountPath: /var/log/nginx
  - name: log-writer
    image: busybox:latest
    command: ["/bin/sh", "-c", "while true; do echo 'Hello from sidecar!' >> /var/log/app.log; sleep 5; done"]
    volumeMounts:
    - name: shared-log-volume
      mountPath: /var/log/app

Testaa Pod-tietosi

Mikä seuraavista Kubernetes Podeja koskevista väitteistä on TOSI?

Kertaus: Podit – ydinyksikkö

Olette juuri oppineet Kubernetes Podit, jotka ovat klusterissa suoritettavien sovellustenne perustavanlaatuisia rakennuspalikoita.

  • Podit kapseloivat yhden tai useamman kontin ja tarjoavat niille jaetut resurssit.
  • Ne tarjoavat jaetun verkon ja tallennustilan sekä varmistavat toisiinsa liittyvien konttien sijoittamisen samaan nodeen.
  • Podit määritellään YAML-muodossa ja otetaan käyttöön komennolla kubectl apply.
  • Komennot kubectl get pods ja kubectl describe pod auttavat valvomaan niitä.

Seuraavaksi tutustumme muihin kubectl-komentoihin, joilla klusterin kanssa voi toimia!

Aloita maksutta

Opi DevOps-bootcamp 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
142
Oppitunnit
568

Usein kysytyt kysymykset

Onko oppitunti ”Podit: pienimmät yksiköt” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Podit: pienimmät yksiköt”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Podit: pienimmät yksiköt”?

Tutustukaa Kubernetesin keskeisiin rakennuspalikoihin, podeihin, ja oppikaa määrittämään ja hallinnoimaan niitä. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Podit: pienimmät yksiköt”-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ä DevOps-bootcamp-oppitunnilla?

Kyllä. Jokainen DevOps-bootcamp-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

  1. Kubernetes-arkkitehtuuri
  2. Podit: pienimmät yksiköt
  3. kubectlin komentojen perusteet
  4. Nimiavaruudet ja tunnisteet järjestämiseen
← Takaisin: DevOps-bootcamp