Kubernetesin perusteet · Oppitunti

Pysyvät taltiot ja varaukset

Ymmärtäkää, miten podeille tarjotaan pysyvää tallennustilaa Persistent Volumien ja Persistent Volume Claimien avulla.

Oppitunti 3/412 vaihetta

Pysyvät taltiot ja varaukset on ilmainen Kubernetesin perusteet-oppitunti CoddyKitissä. Tämä on oppitunti 3/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.

Podit ja väliaikaiset tiedot

Podit syntyvät ja poistuvat, mutta sovelluksenne tiedot on usein säilytettävä. Tällaisia tietoja ovat esimerkiksi tietokanta tai käyttäjien lataamat tiedostot.

  • Kun Pod käynnistyy uudelleen tai ajoitetaan uudelleen, kaikki suoraan sen konttitiedostojärjestelmään tallennetut tiedot menetetään.
  • Tämä väliaikaisuus sopii tilattomille sovelluksille, mutta kriittiset tiedot tarvitsevat pysyvän tallennusratkaisun.
  • Kubernetes tarjoaa tehokkaan järjestelmän sellaisen pysyvän tallennustilan hallintaan, joka säilyy Podin elinkaaren yli.

PersistentVolume: klusterin tallennustila

PersistentVolume (PV) on Kubernetes-klusterissa oleva tallennustilan osa.

  • Se on koko klusterin laajuinen resurssi, joten se ei kuulu mihinkään tiettyyn nimiavaruuteen.
  • Ylläpitäjä voi valmistella PV:t etukäteen, tai StorageClass voi luoda ne dynaamisesti.
  • Ne piilottavat taustalla käytettävän tallennusteknologian yksityiskohdat, kuten Google Persistent Diskin, AWS EBS:n tai NFS-jaon.

PersistentVolumen määrittäminen

PV:t määritetään esimerkiksi kapasiteetin, käyttötilojen ja tallennustyypin avulla. Tämä YAML kuvaa hostPath-polkua käyttävän PV:n (paikallista testausta varten), jonka tallennustila on 5 gigatavua.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: my-local-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  hostPath:
    path: "/mnt/data"

Huomautus: hostPath on yleensä tarkoitettu yhden solmun kehityskäyttöön, eikä sitä suositella tuotantoon.

PersistentVolumeClaim: Podin pyyntö

PersistentVolumeClaim (PVC) on käyttäjän tai sovelluksen tietyssä nimiavaruudessa tekemä tallennustilapyyntö.

  • Podit eivät käytä PV:itä suoraan, vaan pyytävät tallennustilaa PVC:n kautta.
  • PVC:t ovat nimiavaruuden laajuisia, joten ne sijaitsevat tietyn projektin tai tiimin alueella.
  • Niissä määritetään haluttu koko ja käyttötilat sekä haluttaessa StorageClass.

PV ja PVC: yhteensovittajat

Kubernetes yhdistää PVC:n automaattisesti käytettävissä olevaan PV:hen prosessilla, jota kutsutaan sidonnaksi.

  • Kun PVC luodaan, Kubernetes etsii PV:n, joka täyttää PVC:n vaatimukset (koko, käyttötilat ja StorageClass).
  • Kun sopiva PV löytyy, ne sidotaan toisiinsa yhden suhde yhteen -suhteella.
  • Sidonta varmistaa, että PVC saa juuri pyytämänsä tallennustilan.

PV:iden ja PVC:iden käyttötilat

Käyttötilat määrittävät, miten tallennustila voidaan liittää ja miten Podit voivat käyttää sitä. PVC:t pyytävät näitä tiloja, ja PV:t tukevat niitä:

  • ReadWriteOnce (RWO): Taltio voidaan liittää luku- ja kirjoitusoikeuksin yhdelle solmulle.
  • ReadOnlyMany (ROX): Taltio voidaan liittää vain luku -tilassa usealle solmulle.
  • ReadWriteMany (RWX): Taltio voidaan liittää luku- ja kirjoitusoikeuksin usealle solmulle.

Näiden tilojen saatavuus riippuu käytetystä tallennustilan tarjoajasta.

StorageClassit automaatiota varten

StorageClassit tarjoavat ylläpitäjille tavan kuvata tallennustilan eri ”luokkia”, kuten ”fast-ssd” ja ”slow-hdd”.

  • PV:itä ei tarvitse luoda manuaalisesti, vaan StorageClass voi valmistella PV:n dynaamisesti, kun PVC pyytää sitä.
  • Tämä automatisoi PV:iden luomisen ennalta määritettyjen mallien perusteella.
  • Se erottaa tallennustilan valmistelun sen käytöstä, mikä helpottaa käyttäjien työskentelyä.

Esimerkki PVC:n luomisesta

Luodaan PVC, joka pyytää yhden gigatavun tallennustilaa ReadWriteOnce-käyttötilassa. Tämä PVC etsii olemassa olevan PV:n tai käynnistää dynaamisen valmistelun StorageClassin kautta.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-app-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: standard # Optional: if you have a 'standard' StorageClass

Tallentakaa tämä nimellä pvc.yaml ja ottakaa se käyttöön komennolla kubectl apply -f pvc.yaml.

PVC:n käyttäminen Podissa

Kun PVC on sidottu, Pod voi käyttää sitä viittaamalla PVC:n nimeen taltion määrityksessä. Podin ei tarvitse tietää taustalla olevasta PV:stä, vaan ainoastaan PVC:stä.

apiVersion: v1
kind: Pod
metadata:
  name: my-data-pod
spec:
  containers:
    - name: data-container
      image: busybox
      command: ["/bin/sh", "-c", "echo 'Hello from CoddyKit!' > /mnt/data/hello.txt && sleep 3600"]
      volumeMounts:
        - name: persistent-storage
          mountPath: /mnt/data
  volumes:
    - name: persistent-storage
      persistentVolumeClaim:
        claimName: my-app-pvc

Tämä Pod kirjoittaa tiedoston liitettyyn pysyvään taltioon.

PV:iden ja PVC:iden valvonta

Voitte valvoa pysyvän tallennustilan resursseja komennolla kubectl:

  • Kaikkien PV:iden näyttäminen: kubectl get pv
  • Kaikkien nimiavaruutenne PVC:iden näyttäminen: kubectl get pvc
  • Yksityiskohtaisten tietojen, kuten tilan ja tapahtumien, hakeminen:
    • kubectl describe pv <pv-name>
    • kubectl describe pvc <pvc-name>

Varmistakaa, että PV:iden tila on Bound ja että PVC:t on sidottu oikeaan PV:hen tilassa Bound.

PV:n ja PVC:n ymmärtäminen

Käyttäjä haluaa ottaa käyttöön tietokannan, joka tarvitsee 50 Gt pysyvää tallennustilaa. Mikä Kubernetes-resurssi edustaa suoraan käyttäjän sovelluksen esittämää tallennustilapyyntöä?

Pysyvän tallennustilan yhteenveto

Olemme käsitelleet sitä, miten Kubernetes hallitsee sovellusten pysyvää tallennustilaa:

  • PersistentVolumet (PV:t) ovat klusteriresursseja, jotka edustavat varsinaista tallennustilaa.
  • PersistentVolumeClaimit (PVC:t) ovat käyttäjien tallennustilapyyntöjä.
  • Kubernetes sitoo PVC:t vaatimukset täyttäviin PV:ihin.
  • Käyttötilat määrittävät, miten tallennustilaa voidaan käyttää (RWO, ROX, RWX).
  • StorageClassit mahdollistavat PV:iden dynaamisen valmistelun ja automatisoivat määrityksen.

Tämä järjestelmä varmistaa, että sovelluksen tiedot säilyvät, vaikka Podit poistuvat ja uusia luodaan, mikä parantaa tilallisten sovellusten luotettavuutta.

Aloita maksutta

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 ”Pysyvät taltiot ja varaukset” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Kubernetesin perusteet-oppimispolun 3 oppituntia, myös oppitunnin “Pysyvät taltiot ja varaukset”. 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 ”Pysyvät taltiot ja varaukset”?

Ymmärtäkää, miten podeille tarjotaan pysyvää tallennustilaa Persistent Volumien ja Persistent Volume Claimien avulla. 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 3/4.

Kuinka kauan ”Pysyvät taltiot ja varaukset”-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

  1. ConfigMapit määrityksiä varten
  2. Secretit arkaluonteisille tiedoille
  3. Pysyvät taltiot ja varaukset
  4. StorageClassit ja dynaaminen provisiointi
← Takaisin: Kubernetesin perusteet