Hva er PersistentVolume (PV) og PersistentVolumeClaim (PVC)?
Et PersistentVolume (PV) er definert som en lagringsbit som manuelt er opprettet eller dynamisk levert via lagringsklasser i en klynge. Den fungerer som en klyngressurs på samme måte som en node gjør. PV -er er volumplugins som ligner på volumer, men deres livssyklus er uavhengig av belgene. Dette API -objektet sporer lagringsmetoden, enten NFS, ISCSI eller et lagringssystem hjemmehørende i en skyleverandør.
En PersistentVolumeClaim er en brukers forespørsel om lagring (PVC). Det ser ut til å være en pod. Pods forbruker nodens ressurser, mens PVC -er bruker PV -ressurser. Pods har muligheten til å be om ressursnivåer som er spesifikke for dem (CPU og minne).
I krav kan det være nødvendig med spesifikk størrelse og tilgangsmodalitet (e.g., De kan monteres ReadonlyMany, ReadWriteOnce, ReadWritemany, eller se AccessModes).
Mens PersistentVolumeClaims gjør det mulig for brukere å konsumere abstrakte lagringsressurser, er det typisk for brukere å kreve vedvarende volumer med distinkte funksjoner, for eksempel ytelse, for forskjellige situasjoner.
Uten å utsette brukere for tekniske detaljer, må klyngeledere tilby et utvalg av vedvarende volumer som varierer i mer aspekter enn bare størrelse og tilgangsmodus. StorageClass -ressursen kan brukes til å oppfylle disse kravene.
Forutsetning:
For å komme i gang, trenger du en Kubernetes-klynge og KUBECTL-kommandolinjeverktøyet som er konfigurert for å koble til den. Minikube kan hjelpe deg med å sette opp en klynge hvis du ikke allerede har en. Ubuntu 20.04 ble brukt til å implementere kommandoene i dette emnet. Vi kan også bruke vårt foretrukne operativsystem siden vi allerede har installert Kubectl. Det må installeres før kommandoene kan kjøres.
Når installasjonen er ferdig, kan vi starte en terminal ved å bruke en av de to metodene. Et alternativ er å bruke operativsystemets applikasjonslinje for å nå terminalen. En annen måte er å bruke tastatursnarveien “Ctrl + Alt + T.”For å starte en terminal, velg et av disse alternativene.
Nå, på terminalen, bruk kommandoen nedenfor for å starte Minikube.
$ Minikube Start
Utgangen er festet i det ovennevnte bildet.
Trinn for å lage en HTML -fil på noden din
For å opprette en HTML -fil, må du åpne et skall på klyngens eneste node. Måten du åpner et skall bestemmes av hvordan klyngen din er konfigurert. Hvis du bruker Minikube, vil det å skrive minikube SSH åpne et skall på noden din. Opprett A /Mnt /Data Directory i nodens skall.
Lage en indeks.HTML -fil. Filen er opprettet i /MNT /Data Directory. Hvis noden din krever tilgang til superbruker via et annet verktøy enn sudo, kan du vanligvis ha denne funksjonen ved å erstatte sudo med navnet på det alternative verktøyet.
$ sudo sh -c "ekko 'hei fra Kubernetes Storage'>/mnt/data/index.html "
Forsikre deg om at indeksen.HTML -fil er til stede. Også inkludert er utgangen. Du kan nå slå av skallet som er festet til noden din.
$ katt/mnt/data/indeks.html
Utgangen er festet i det ovennevnte bildet.
Trinn for å lage et vedvarende volum
Her kan du finne ut detaljene om å lage en vertspat vedvarende volum. På en en-node-klynge muliggjør Kubernetes HostPath for utvikling og testing. En hostpath PersistentVolume bruker en fil eller katalog på noden for å etterligne lagring av nettverksprogrammer.
$ nano pvc.Yaml
Du ville ikke kunne bruke HostPath i en produksjonsklynge. Klyngeadministratorer kan også bruke storageClasses for å bygge opp dynamisk levering. VertPath PersistentVolum -konfigurasjonsfilen er som følger:
PV -konfigurasjonen vil avvike betydelig avhengig av klynge- og lagringstype. Kommandoen over vil montere volumet på Minikube VM og er kompatibel med Minikube -klynger.
I henhold til konfigurasjonsfilen lagres platen på stedet for /mnt /data på klyngens node. Volumets størrelse er satt til 10 gibibytter, og tilgangsmodus er satt til ReadWriteOnce, noe som indikerer at volumet alltid kan monteres lesing av en bestemt node.
For å bygge et vedvarende volum, bruk den etterfølgende kommandoen:
$ kubectl gjelder -f pvc.Yaml
Utgangen er festet i det ovennevnte bildet. Husk at forkortelsen PVC kan brukes til å søke etter vedvarende volumkrav. Utgangen inkluderer navnet på PVC som ble produsert, samt noen grunnleggende informasjon:
Utgangen er festet i det ovennevnte bildet.
Slett PersistentVolume
Kubectl Delete -kommandoen kan brukes til å slette PVC -er. For å slette en PVC med Kubectl, oppgi den etter fil eller navn.
$ kubectl slett pv task-pv-volume
Utgangen er festet i det ovennevnte bildet. Husk at å slette en PV eller PVC som for øyeblikket er i bruk av en pod ikke fjerner PVC umiddelbart. PVC -opprydding vil bli utsatt til alle pods har sluttet å bruke den.
Videre, i en tid hvor en administrator sletter en PV som er knyttet til en PVC, blir ikke PV slettet på stedet. PV er ikke koblet fra PVC før den ikke lenger er tilkoblet.
Konklusjon:
For å oppsummere, muliggjør lagringsklasser i Kubernetes distribusjon og forbruk av vedvarende volum lagringsressurser (PV). PV -er konsumeres av pods ved bruk av PVC. Denne artikkelen forklarte hvordan du oppretter og sletter en PersistentVolumeClaim for Pod Storage. Vi har også gitt seksjoner om hvordan du kan håndtere vedvarende volumkrav (PVC).