StorageClasses und dynamische Bereitstellung
Lernen Sie, wie StorageClasses Kubernetes ermöglichen, Persistent Volumes automatisch und bedarfsgerecht bereitzustellen – ohne manuelle Administrationsarbeit.
StorageClasses und dynamische Bereitstellung ist eine kostenlose Kubernetes Basics-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kubernetes Basics-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kubernetes Basics-Kurs umfasst insgesamt 4 Lektionen.
Das Problem manueller Speicherbereitstellung
Bei statischer Bereitstellung muss ein Administrator jedes PersistentVolume manuell erstellen, bevor ein PersistentVolumeClaim gebunden werden kann. Das ist nicht skalierbar.
Dynamische Bereitstellung erstellt Volumes automatisch, sobald ein Claim angelegt wird.
Was ist eine StorageClass
Eine StorageClass beschreibt eine Art von Speicher, die ein Cluster anbieten kann: welchen Provisioner er verwendet, welche Parameter gelten und wie sich Volumes verhalten.
Betrachten Sie sie als Vorlage zum bedarfsgesteuerten Erstellen von PersistentVolumes.
Eine StorageClass-Definition
Das Feld provisioner bezeichnet das Plugin, das das Volume erstellt, häufig einen Cloud-Datenträgertreiber.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast-ssd
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp3
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumerDynamischen Speicher anfordern
Ein PVC verweist einfach anhand seines Namens auf die StorageClass. Kubernetes stellt anschließend automatisch ein passendes PV bereit.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
spec:
accessModes: ['ReadWriteOnce']
storageClassName: fast-ssd
resources:
requests:
storage: 10GiDie Standard-StorageClass
Wenn ein PVC storageClassName nicht angibt, verwendet Kubernetes die standardmäßige StorageClass des Clusters (gekennzeichnet durch eine Annotation). Dadurch funktionieren Claims sofort ohne zusätzliche Konfiguration.
kubectl get storageclass
# NAME PROVISIONER DEFAULT
# standard (default) ...Rückforderungsrichtlinie
Die reclaimPolicy legt fest, was beim Löschen des PVC geschieht:
- Delete: Auch das zugrunde liegende Volume wird entfernt
- Retain: Das Volume bleibt zur manuellen Wiederherstellung erhalten
Volume-Bindungsmodus
WaitForFirstConsumer verzögert die Erstellung des Volumes, bis ein Pod mit diesem PVC eingeplant wird. Dadurch wird sichergestellt, dass der Datenträger in derselben Zone wie der Pod angelegt wird.
Immediate stellt das Volume sofort bereit, was zu nicht übereinstimmenden Zonen führen kann.
Die Bereitstellung beobachten
Beobachten Sie nach dem Anwenden eines PVC, wie er von Pending zu Bound wechselt, während das Volume erstellt wird.
kubectl apply -f pvc.yaml
kubectl get pvc data -w
# data Pending
# data Bound pvc-8a3f... 10GiMehrere Speicherklassen
Cluster definieren häufig mehrere StorageClasses für unterschiedliche Anforderungen, sodass Teams je nach Workload den passenden Kompromiss wählen können.
# fast-ssd -> low latency, higher cost
# standard -> balanced default
# cold-hdd -> cheap, archivalVolumes erweitern
Wenn die StorageClass allowVolumeExpansion: true enthält, können Sie ein PVC vergrößern, indem Sie die angeforderte Größe bearbeiten. Der Provisioner passt dann die Größe des zugrunde liegenden Datenträgers an.
spec:
resources:
requests:
storage: 20Gi # increased from 10GiWann statische oder dynamische Bereitstellung verwenden
- Dynamisch: Standardwahl; Self-Service und gut skalierbar
- Statisch: wenn Sie einen bestimmten bereits vorhandenen Datenträger oder NFS-Export binden müssen
Kurzer Test
Testen Sie Ihr Verständnis der dynamischen Bereitstellung.
Zusammenfassung
Sie haben gelernt, dass eine StorageClass als Vorlage dafür dient, wie Speicher erstellt wird, und dadurch eine dynamische Bereitstellung ermöglicht. Zu den wichtigen Feldern gehören der Provisioner, reclaimPolicy und volumeBindingMode. PVCs verweisen anhand ihres Namens auf eine Klasse, und eine Standardklasse übernimmt Claims, die keine Klasse angeben.
Häufig gestellte Fragen
Ist die Lektion „StorageClasses und dynamische Bereitstellung“ kostenlos?
Ja — der vollständige Text von „StorageClasses und dynamische Bereitstellung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kubernetes Basics-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kubernetes Basics-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „StorageClasses und dynamische Bereitstellung“?
Lernen Sie, wie StorageClasses Kubernetes ermöglichen, Persistent Volumes automatisch und bedarfsgerecht bereitzustellen – ohne manuelle Administrationsarbeit. Du übst Kubernetes Basics mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Kubernetes Basics zu starten?
Keine Vorkenntnisse erforderlich. Kubernetes Basics auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „StorageClasses und dynamische Bereitstellung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Kubernetes Basics-Lektion Code schreiben und ausführen?
Ja. Jede Kubernetes Basics-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- ConfigMaps für Konfigurationen
- Secrets für vertrauliche Daten
- Persistente Volumes und Claims
- StorageClasses und dynamische Bereitstellung