Pysyvät taltiot ja varaukset
Ymmärtäkää, miten podeille tarjotaan pysyvää tallennustilaa Persistent Volumien ja Persistent Volume Claimien avulla.
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.
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
- ConfigMapit määrityksiä varten
- Secretit arkaluonteisille tiedoille
- Pysyvät taltiot ja varaukset
- StorageClassit ja dynaaminen provisiointi