Block- und S3 Object Storage Kubernetes Storage
Einführung in Kubernetes Storage
Einführung
Dateien, welche innerhalb eines Containers erzeugt und abgelegt werden sind grundsäzlich ephemeral (nicht persistent), was einen Verlust dieser Daten bei einem Neustart/Absturz des Containers zur Folge hat. Außerdem können diese Dateien nicht von mehreren Containern innerhalb eines Pods genutzt werden. Daher bietet Kubenretes die Möglichkeit Daten auch über der Ebene der Container persistent zu halten.
Storage Klassen
Eine Storage Class wird generell vom Cluster-Administrator erstellt und beschreibt das "Profil" des zur Verfügung stehenden Storage wie z.B. HDD/SSD oder Backup-Richtlinien. Diese kann dann beim Erstellen eines Volumes benutzt werden. Es wird eine "Default" Storage Klasse festgelegt, welche genutzt wird wenn bei der Erstellung von Volumes keine spezifische Storage Class festgelegt wird.
Persistent Volumes
Ein Persistent Volume (PV) ist Speicher, welcher auf Grundlage einer Storage Class erstellt wurde. Innerhalb des Clusters ist ein PV eine Ressource, welche unabhänging von den Pods existiert und daher auch weiter besteht, falls der Pod, welcher das Volume nutzt gelöscht wird.
Persistent Volume Claims
Ein Persistent Volume Claim (PVC) ist schlussendlich die Anforderung und tatsächliche Nutzung des Speichers durch den Benutzer. Diese Claims können spezifische Größen und Access-Modes beinhalten, wie z.B. ReadWriteOnce, ReadWriteMany etc., sofern die zugrunde liegende Storage Class es erlaubt.
Best Practices
Generell gibt man bei dem Deployment einer Applikation mit, ob und wie viele Volumes mit welcher Größe erstellt werden sollen. Benutzt man z.B. Helm, gibt es bei allen gängigen Helm Charts die Option in der values.yaml Persistent Volumes festzulegen, wenn die Apllikation es erfordert bzw. unterstützt.
Do you have questions or would you like a personalized offer? We are happy to advise you.
Contact
Our cloud experts are happy to provide personalized advice.
- Our Office
-
Sartoriusstraße 22
20257 Hamburg, Deutschland
Mon - Fri: 09:00 AM - 06:00 PM - Telefon
- +49 40 239 69 754 0
- hello@bnerd.com