Grunderna i Kubernetes · Lektion

StorageClasses och dynamisk provisionering

Lär dig hur StorageClasses låter Kubernetes provisionera Persistent Volumes automatiskt vid behov, utan manuellt administratörsarbete.

Lektion 4 av 413 steg

StorageClasses och dynamisk provisionering är en gratis lektion i Grunderna i Kubernetes på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Grunderna i Kubernetes, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Grunderna i Kubernetes innehåller totalt 4 lektioner.

Problemet med manuell lagring

Vid statisk provisionering måste en administratör skapa varje PersistentVolume manuellt innan en PersistentVolumeClaim kan bindas. Det skalar inte.

Dynamisk provisionering skapar volymer automatiskt när en claim skapas.

Vad är en StorageClass?

En StorageClass beskriver en typ av lagring som klustret kan erbjuda: vilken provisioner som ska användas, vilka parametrar som gäller och hur volymerna ska fungera.

Se den som en mall för att skapa PersistentVolumes vid behov.

En StorageClass-definition

Fältet provisioner anger det plugin som skapar volymen, ofta en drivrutin för en molndisk.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fast-ssd
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp3
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

Begära dynamisk lagring

En PVC refererar helt enkelt till StorageClass med namn. Kubernetes provisionerar sedan automatiskt en matchande PV.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data
spec:
  accessModes: ['ReadWriteOnce']
  storageClassName: fast-ssd
  resources:
    requests:
      storage: 10Gi

Standardklassen för lagring

Om en PVC utelämnar storageClassName använder Kubernetes klustrets standard-StorageClass, som markeras med en annotation. Då fungerar claims direkt utan extra konfiguration.

kubectl get storageclass
# NAME            PROVISIONER          DEFAULT
# standard (default)  ...

Reclaim-policy

reclaimPolicy avgör vad som händer när PVC:n tas bort:

  • Delete: den underliggande volymen tas också bort
  • Retain: volymen behålls för manuell återställning

Bindningsläge för volymer

WaitForFirstConsumer fördröjer skapandet av volymen tills en Pod som använder PVC:n har schemalagts. Det säkerställer att disken placeras i samma zon som Podden.

Immediate provisionerar direkt, vilket kan orsaka att zonerna inte matchar.

Följ provisioneringen

När du har tillämpat en PVC kan du följa hur den går från Pending till Bound medan volymen skapas.

kubectl apply -f pvc.yaml
kubectl get pvc data -w
# data   Pending
# data   Bound   pvc-8a3f...  10Gi

Flera lagringsnivåer

Kluster definierar ofta flera StorageClasses för olika behov, så att team kan välja rätt avvägning för varje arbetsbelastning.

# fast-ssd  -> low latency, higher cost
# standard  -> balanced default
# cold-hdd  -> cheap, archival

Utöka volymer

Om StorageClass har allowVolumeExpansion: true kan du utöka en PVC genom att redigera den begärda storleken, så ändrar provisioner storleken på den underliggande disken.

spec:
  resources:
    requests:
      storage: 20Gi  # increased from 10Gi

När ska statisk respektive dynamisk användas?

  • Dynamisk: standardvalet; självbetjäning och god skalbarhet
  • Statisk: när du måste binda till en specifik befintlig disk eller NFS-export

Snabbtest

Testa dina kunskaper om dynamisk provisionering.

Sammanfattning

Du har lärt dig att en StorageClass fungerar som en mall för hur lagring skapas och möjliggör dynamisk provisionering. Viktiga fält är provisioner, reclaimPolicy och volumeBindingMode. PVC:er refererar till en klass med namn, och en standardklass hanterar claims som inte anger någon klass.

Gratis att börja

Lär dig Grunderna i Kubernetes med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”StorageClasses och dynamisk provisionering” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Grunderna i Kubernetes, inklusive ”StorageClasses och dynamisk provisionering”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Grunderna i Kubernetes innehåller totalt 4 lektioner.

Vad lär jag mig i ”StorageClasses och dynamisk provisionering”?

Lär dig hur StorageClasses låter Kubernetes provisionera Persistent Volumes automatiskt vid behov, utan manuellt administratörsarbete. Ni övar på Grunderna i Kubernetes med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Grunderna i Kubernetes?

Du behöver inga förkunskaper. Utbildningen i Grunderna i Kubernetes på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”StorageClasses och dynamisk provisionering”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Grunderna i Kubernetes-lektionen?

Ja. Varje Grunderna i Kubernetes-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. ConfigMaps för konfiguration
  2. Secrets för känsliga data
  3. Beständiga volymer och anspråk
  4. StorageClasses och dynamisk provisionering
← Tillbaka till Grunderna i Kubernetes