Persistente Volumes in Kubernetes vergrößern

von | Jul 14, 2022

Du willst ein PersistentVolume (PV) in Kubernetes vergrößern? In diesem Blogeintrag erfährst du wie das funktioniert. Was PVs sind und wie man diese anlegt wird im Tutorial Persistente Volumes in Kubernetes erstellen erklärt, auf welchem das vorliegende Tutorial aufbaut.

 

PV in K8s vergrößern: Los Geht’s

Das Vergrößern eines PVs in Kubernetes ist keine schwere Übung. Zu beachten gilt es, dass das PersistentVolumeClaim und nicht das PersistentVolume-Objekt editiert werden muss. Das PVC-Objekt kann z.B. mit dem Befehl kubectl edit angepasst werden. Falls du das oben angesprochene Tutorial absolviert hast, sollte in deinem Cluster ein PVC-Objekt mit dem Namen nginx-documentroot existieren. Dieses wollen wir von 1 GiB auf 5 GiB vergrößern.

$ kubectl edit pvc nginx-documentroot

Im nun geöffneten Editor kann man das Yaml-Manifest des PVC-Objekts bearbeiten. Zum Vergrößern passt man den Wert unter .spec.resources.requests.storage an.

Nach dem Speichern und Schließen des Editors erfolgt die Vergrößerung des Volumes. Die standardmäßig in NWS Managed Kubernetes Clustern verwendete Cinder-StorageClass unterstützt Online Expansion, d.h. das Filesystem auf dem Volume wird auch bei laufendem Pod vergrößert und der zusätzliche Speicherplatz ist direkt im Container verfügbar. Es ist also kein Neustart des Pods notwendig. Eine Verkleinerung eines PVs ist nicht möglich. Die Kubernetes-API lässt dies gar nicht erst zu.

Um zu überprüfen, ob der Resize erfolgreich vollzogen wurde, kannst du dir zum Schluss noch das zum PVC gehörige PV anzeigen lassen:

Das PV-Objekt wurde aktualisiert und spiegelt die neue Größe von 5 GiB des zugrundeliegenden Volumes wider. Um sich vollends davon zu überzeugen, dass der zusätzliche Speicherplatz zur Verwendung im Container bereitsteht, öffnet man eine Shell auf dem Container mit kubectl exec:

 

Weitere Hilfreiche Informationen

Du hast nun gesehen, wie sich ein bestehendes PV vergrößern lässt. Damit du den Füllstand der Volumes in deinem Cluster immer im Blick hast, lohnt es sich zum Zweck des Monitorings den Kube Prometheus Stack einzusetzen. Wenn du benachrichtigt werden willst, wenn ein Volume eine kritische Speicherbelegung erreicht, könnte das Tutorial Kubernetes Alerting mit Prometheus Alertmanager interessant für dich sein.

More about Kubernetes
Wie Du Deine NETWAYS Managed Database startest

Wie Du Deine NETWAYS Managed Database startest

Im ersten Tutorial hat Sebastian bereits erklärt, was es mit Vitess auf sich hat und welche Möglichkeiten es Dir beim Betrieb Deiner Anwendung, im Vergleich zu einer gewöhnlichen Datenbank, bietet. Im folgenden Text möchte ich nun darauf eingehen, wie Du Dir in...

Was ist Vitess?

Was ist Vitess?

Im Jahr 2010 wurde eine Lösung entwickelt, um die massiven Skalierbarkeitsprobleme von MySQL bei YouTube zu lösen - und somit war Vitess geboren. Später - im Jahr 2018 - wurde das Projekt Teil der Cloud Native Computing Foundation und ist seit 2019 als eines der...

S3-Object-Storage anlegen und nutzen

S3-Object-Storage anlegen und nutzen

In Zeiten der Hochverfügbarkeit und mehreren Webservern muss irgendwie die Grätsche zwischen der zentralen Datenhaltung, Datensicherheit und schnellen Zugriffszeiten geschafft werden. Genau dafür nutzen immer mehr Anwender nun Technologien, die mit Schlagwörtern wie...