Machen Sie sich mit verschiedenen Konzepten vertraut, die für vSphere Cloud Native Storage-Umgebungen unerlässlich sind.

Kubernetes-Cluster
Ein VM-Cluster, in dem Kubernetes-Steuerungsebene und Kubernetes-Worker-Dienste ausgeführt werden. Zusätzlich zum Kubernetes-Cluster stellen Sie Ihre Containeranwendungen bereit. Anwendungen können statusbehaftet und statusfrei sein.
Pod
Bei einem Pod handelt es sich um eine Gruppe aus einem oder mehreren Containern, die Ressourcen wie Speicher und Netzwerk gemeinsam nutzen. Container in einem Pod werden als Gruppe gestartet, angehalten und repliziert.
Container-Orchestrator
Open-Source-Plattformen, wie beispielsweise Kubernetes, für die Bereitstellung, Skalierung und Verwaltung von Containeranwendungen zwischen Hostclustern. Die Plattformen stellen eine containerorientierte Infrastruktur bereit.
Statusbehaftete Anwendung
Da sich Containeranwendungen von statusbehaftet zu statusfrei entwickeln, benötigen sie persistenten Speicher. Im Gegensatz zu statusfreien Anwendungen, die keine Daten zwischen Sitzungen speichern, speichern statusbehaftete Anwendungen Daten im persistenten Speicher. Die gespeicherten Daten werden als Anwendungsstatus bezeichnet. Sie können die Daten später abrufen und in der nächsten Sitzung verwenden. Die meisten Anwendungen sind statusbehaftet. Eine Datenbank ist ein Beispiel für eine statusbehaftete Anwendung.
PersistentVolume
Statusbehaftete Anwendungen verwenden PersistentVolumes zum Speichern der Daten. Bei einem PersistentVolume handelt es sich um ein Kubernetes-Volume, das seinen Status und seine Daten beibehalten kann. Es ist unabhängig von einem Pod und kann auch dann weiterhin bestehen, wenn der Pod gelöscht oder neu konfiguriert wird. In der vSphere-Umgebung verwenden die PersistentVolume-Objekte virtuelle Festplatten (VMDKs) als Hintergrundspeicher.
StorageClass
Kubernetes verwendet eine StorageClass, um verschiedene Speicherebenen zu definieren und verschiedene Arten von Anforderungen für Speicher-Backing des PersistentVolume zu beschreiben. In der vSphere-Umgebung kann eine Speicherklasse mit einer Speicherrichtlinie verknüpft werden. Als vSphere-Administrator erstellen Sie Speicherrichtlinien, die verschiedene Speicheranforderungen beschreiben. Die VM-Speicherrichtlinien können als Teil der Speicherklassendefinition für die Bereitstellung dynamischer Volumes verwendet werden.

Die folgende YAML-Datei referenziert die Speicherrichtlinie Gold, die Sie zuvor mithilfe des vSphere Client erstellt haben. Die resultierende VMDK des persistenten Volumes wird auf einem kompatiblen Datenspeicher platziert, der den Anforderungen der Speicherrichtlinie Gold entspricht.

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: gold-sc
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: csi.vsphere.vmware.com
parameters:
  storagepolicyname: "Gold"
  
PersistentVolumeClaim
In der Regel können Anwendungen oder Pods persistenten Speicher über einen PersistentVolumeClaim anfordern. PersistentVolumeClaim gibt Typ und Speicherklasse, den Zugriffsmodus (entweder ReadWriteOnce oder ReadWriteMany) und andere Parameter für den PersistentVolume an. Die Anforderung kann dann dynamisch das entsprechende PersistentVolume-Objekt bereitstellen und die zugrundeliegende virtuelle Festplatte in der vSphere-Umgebung.
Nach Erstellung des Anspruchs ist das PersistentVolume automatisch an den Anspruch gebunden. Pods verwenden den Anspruch zum Mounten des PersistentVolume und für den Zugriff auf den Speicher.
Wenn Sie diesen Anspruch löschen, werden das entsprechende PersistentVolume-Objekt und der zugrunde liegende Speicher gelöscht.
kind: PersistentVolumeClaim
metadata:
 name: persistent-VMDK
spec:
 accessModes:
 - ReadWriteOnce
 resources:
 requests:
 storage: 5Gi
 storageClassName: gold-sc
StatefulSet
Ein StatefulSet verwaltet die Bereitstellung und Skalierung Ihrer statusbehafteten Anwendungen. Das StatefulSet eignet sich hervorragend für Anwendungen, die stabile Bezeichner oder stabilen persistenten Speicher benötigen. Sie können das StatefulSet so konfigurieren, dass es einen volumeClaimTemplates-Eintrag enthält, der die PersistentVolumeClaim-Objekte automatisch erstellt.