StorageClasses og dynamisk provisioning
Lær, hvordan StorageClasses lader Kubernetes provisionere Persistent Volumes automatisk efter behov uden manuelt administratorarbejde
StorageClasses og dynamisk provisioning er en gratis Grundlæggende Kubernetes-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Grundlæggende Kubernetes, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Grundlæggende Kubernetes-kurset indeholder 4 lektioner i alt.
Problemet med manuel lagring
Ved statisk klargøring skal en administrator oprette hver PersistentVolume manuelt, før en PersistentVolumeClaim kan bindes. Det skalerer ikke.
Dynamisk klargøring opretter volumener automatisk, når der oprettes et krav.
Hvad er en StorageClass?
En StorageClass beskriver en type lagring, som en klynge kan tilbyde: hvilken provisioner der skal bruges, hvilke parametre der gælder, og hvordan volumener opfører sig.
Betragt den som en skabelon til at oprette PersistentVolumes efter behov.
En StorageClass-definition
Feltet provisioner angiver navnet på det plugin, der opretter volumen, ofte en driver til cloud-diske.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast-ssd
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp3
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumerAnmodning om dynamisk lagring
En PVC refererer blot til StorageClass'en ved navn. Kubernetes klargør derefter automatisk en matchende PV.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
spec:
accessModes: ['ReadWriteOnce']
storageClassName: fast-ssd
resources:
requests:
storage: 10GiStandard-StorageClass
Hvis en PVC udelader storageClassName, bruger Kubernetes klyngens standard-StorageClass, som er markeret med en annotation. Det får krav til at fungere uden ekstra opsætning.
kubectl get storageclass
# NAME PROVISIONER DEFAULT
# standard (default) ...Genvindingspolitik
reclaimPolicy afgør, hvad der sker, når PVC'en slettes:
- Delete: den underliggende volumen fjernes også
- Retain: volumen bevares til manuel gendannelse
Bindingstilstand for volumener
WaitForFirstConsumer forsinker oprettelsen af volumen, indtil en Pod, der bruger PVC'en, er planlagt. Det sikrer, at disken placeres i samme zone som Pod'en.
Immediate klargør med det samme, hvilket kan give uoverensstemmelser mellem zoner.
Følg oprettelsen af lagring
Når du har anvendt en PVC, kan du følge den fra Pending til Bound, mens volumen oprettes.
kubectl apply -f pvc.yaml
kubectl get pvc data -w
# data Pending
# data Bound pvc-8a3f... 10GiFlere lagringsniveauer
Klynger definerer ofte flere StorageClasses til forskellige behov, så udviklingsteams kan vælge det rette kompromis for hver arbejdsbelastning.
# fast-ssd -> low latency, higher cost
# standard -> balanced default
# cold-hdd -> cheap, archivalUdvidelse af volumener
Hvis StorageClass'en har allowVolumeExpansion: true, kan du øge størrelsen på en PVC ved at redigere den ønskede størrelse, hvorefter provisioneren ændrer størrelsen på den underliggende disk.
spec:
resources:
requests:
storage: 20Gi # increased from 10GiHvornår skal statisk eller dynamisk bruges
- Dynamisk: standardvalget; selvbetjening og god skalerbarhed
- Statisk: når du skal binde til en bestemt eksisterende disk eller NFS-eksport
Hurtig kontrol
Test din forståelse af dynamisk klargøring.
Opsummering
Du har lært, at en StorageClass fungerer som en skabelon for, hvordan lagring oprettes, og dermed muliggør dynamisk klargøring. Vigtige felter omfatter provisioner, reclaimPolicy og volumeBindingMode. PVC'er refererer til en klasse ved navn, og en standardklasse håndterer krav, der ikke angiver en.
Lær Grundlæggende Kubernetes med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “StorageClasses og dynamisk provisioning” gratis?
Ja — alle 3 lektioner i læringssporet Grundlæggende Kubernetes, inklusive “StorageClasses og dynamisk provisioning”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Grundlæggende Kubernetes-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “StorageClasses og dynamisk provisioning”?
Lær, hvordan StorageClasses lader Kubernetes provisionere Persistent Volumes automatisk efter behov uden manuelt administratorarbejde Du øver dig i Grundlæggende Kubernetes med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Grundlæggende Kubernetes?
Der kræves ingen tidligere erfaring. Grundlæggende Kubernetes på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “StorageClasses og dynamisk provisioning”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Grundlæggende Kubernetes-lektion?
Ja. Alle Grundlæggende Kubernetes-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- ConfigMaps til konfiguration
- Secrets til følsomme data
- Persistent Volumes og Claims
- StorageClasses og dynamisk provisioning