Bestimmte Kubernetes-Arbeitslasten benötigen persistenten Speicher, um Daten dauerhaft zu speichern. Um dauerhaften Speicher für Kubernetes-Arbeitslasten bereitzustellen, wird vSphere with Tanzu in den cloudnativen Speicher (CNS) integriert – eine vCenter Server-Komponente, die dauerhafte Volumes verwaltet.
Persistenter Speicher wird von vSphere-Pods, Tanzu Kubernetes-Clustern und VMs verwendet. Das folgende Beispiel veranschaulicht, wie persistenter Speicher von einem vSphere Pod verwendet wird.
Machen Sie sich mit den folgenden wichtigen Konzepten vertraut, damit Sie die Funktionsweise von vSphere with Tanzu mit dauerhaftem Speicher verstehen.
- Dauerhaftes Volume
-
Zum Bereitstellen von dauerhaftem Speicher verwendet Kubernetes dauerhafte Volumes, die ihren Zustand und ihre Daten beibehalten können. Wenn persistente Volumes von einem Pod gemountet werden, sind sie auch dann weiterhin vorhanden, wenn der Pod gelöscht oder neu konfiguriert wird. In der vSphere with Tanzu-Umgebung werden die dauerhaften Volume-Objekte von Festplatten der 1. Klasse in einem Datenspeicher gestützt.
vSphere with Tanzu unterstützt die dynamische und statische Bereitstellung von Volumes im ReadWriteOnce-Modus, bei dem die Volumes von einem einzelnen Pod gemountet werden können.
Ab Version vSphere 7.0 Update 3 unterstützt vSphere with Tanzu auch den ReadWriteMany-Modus für persistente Volumes in Tanzu Kubernetes-Clustern. Mit der ReadWriteMany-Unterstützung kann ein einzelnes Volume von mehreren in einem Cluster ausgeführten Pods oder Anwendungen gleichzeitig gemountet werden. vSphere with Tanzu verwendet vSAN-Dateifreigaben für persistente Volumes vom Typ „ReadWriteMany“. Weitere Informationen finden Sie unter Erstellen von persistenten ReadWriteMany-Volumes in vSphere with Tanzu.
- Dynamische und statische Bereitstellung
-
Bei der Bereitstellung dynamischer Volumes muss der Speicher nicht vorab bereitgestellt werden, und dauerhafte Volumes können bedarfsgesteuert erstellt werden. DevOps-Ingenieure können eine Beanspruchung eines dauerhaften Volumes ausgeben, die auf eine im Namespace verfügbare Speicherklasse verweist. vSphere with Tanzu stellt automatisch das entsprechende dauerhafte Volume und eine zugrunde liegende virtuelle Festplatte bereit.
Sowohl der Supervisor-Cluster- als auch der Tanzu Kubernetes-Cluster unterstützen dynamische Bereitstellung.
Ein Beispiel für das dynamische Erstellen eines dauerhaften Volumes finden Sie unter Bereitstellen eines dynamischen dauerhaften Volumes für eine statusbehaftete Anwendung.
- Festplatte der 1. Klasse
-
vSphere with Tanzu verwendet den FCD-Typ (First Class Disk) der virtuellen Festplatten, um dauerhafte Volumes zu sichern. Die Festplatte der 1. Klasse, die auch als verbesserte virtuelle Festplatte bezeichnet wird, ist eine benannte virtuelle Festplatte, die keiner VM zugeordnet ist.
Festplatten der ersten Klasse werden durch UUID identifiziert. Diese UUID ist global eindeutig und ist der primäre Bezeichner für die FCD. Die UUID bleibt auch dann gültig, wenn ihre FCD verlagert oder ein Snapshot von ihr erstellt wird.
- Beanspruchung eines dauerhaften Volumes
-
DevOps-Ingenieure erstellen Ansprüche für dauerhafte Volumes, um dauerhafte Speicherressourcen anzufordern. Die Anforderung stellt ein persistentes Volume-Objekt und eine übereinstimmende virtuelle Festplatte bereit. In vSphere Client manifestiert sich die Beanspruchung eines dauerhaften Volumes als virtuelle FCD-Festplatte, die von vSphere-Administratoren überwacht werden kann.
- Speicherklasse
-
Kubernetes verwendet Speicherklassen, um die Anforderungen für Speicher-Backing der dauerhaften Volumes zu beschreiben. DevOps-Ingenieure können eine bestimmte Speicherklasse in ihre Spezifikation der Beanspruchung von dauerhaften Volumes aufnehmen, um den Typ des Speichers anzufordern, den die Klasse beschreibt.
Workflow für dauerhaften Speicher
Der Workflow für die Bereitstellung von persistentem Speicher in vSphere with Tanzu umfasst in der Regel die folgenden nacheinander erfolgenden Aktionen.
Schritt |
Aktion |
Beschreibung |
---|---|---|
1 |
vSphere-Administratoren stellen dem DevOps-Team dauerhafte Speicherressourcen bereit. |
vSphere-Administratoren erstellen VM-Speicherrichtlinien, die unterschiedliche Speicheranforderungen und Dienstklassen beschreiben. Anschließend können sie die Speicherrichtlinien einem vSphere-Namespace zuweisen. |
2 |
vSphere with Tanzu erstellt Speicherklassen, die den dem vSphere-Namespace zugewiesenen Speicherrichtlinien entsprechen. |
Die Speicherklassen werden automatisch in der Kubernetes-Umgebung angezeigt und können vom DevOps-Team verwendet werden. Wenn ein vSphere-Administrator dem vSphere-Namespace mehrere Speicherrichtlinien zuweist, wird für jede Speicherrichtlinie eine separate Speicherklasse erstellt. Wenn Sie den Tanzu Kubernetes Grid-Dienst verwenden, um Tanzu Kubernetes-Cluster bereitzustellen, erbt jeder Tanzu Kubernetes-Cluster Speicherklassen vom vSphere-Namespace, in dem der Cluster bereitgestellt wird. |
3 |
DevOps-Ingenieure verwenden die Speicherklassen, um dauerhafte Speicherressourcen für eine Arbeitslast anzufordern. |
Die Anforderung erfolgt in Form eines Anspruchs für ein dauerhaftes Volume, der auf eine bestimmte Speicherklasse verweist. |
4 |
vSphere with Tanzu erstellt ein dauerhaftes Volume-Objekt und eine entsprechende dauerhafte virtuelle Festplatte für eine Arbeitslast. |
vSphere with Tanzu platziert die virtuelle Festplatte in den Datenspeicher, der die in der ursprünglichen Speicherrichtlinie angegebenen Anforderungen und die zugehörige Speicherklasse erfüllt. Die virtuelle Festplatte kann durch eine Arbeitslast gemountet werden. |
5 |
vSphere-Administratoren überwachen dauerhafte Volumes in der vSphere with Tanzu-Umgebung. |
Mithilfe des vSphere Client überwachen vSphere-Administratoren die dauerhaften Volumes und ihre zugrunde liegenden virtuellen Festplatten. Sie können auch die Speicherübereinstimmung und den Systemzustand der dauerhaften Volumes überwachen. |
In diesem Video erfahren Sie mehr über den dauerhaften Speicher in vSphere with Tanzu.
Speicherverwaltungsaufgaben eines vSphere-Administrators
Zu den Aufgaben der Verwaltung des persistenten Speichers in vSphere with Tanzu gehören im Allgemeinen die folgenden. Als vSphere-Administrator verwenden Sie den vSphere Client, um diese Aufgaben auszuführen.
Sie führen Lebenszyklusvorgänge für die VM-Speicherrichtlinien durch.
Bevor Sie einen Supervisor-Cluster aktivieren und Namespaces konfigurieren, erstellen Sie Speicherrichtlinien für persistenten Speicher. Die Speicherrichtlinien basieren auf den Speicheranforderungen, die Ihnen von den DevOps-Ingenieuren mitgeteilt werden. Weitere Informationen hierzu finden Sie unter Erstellen von Speicherrichtlinien für vSphere with Tanzu.
Hinweis:Löschen Sie die Speicherrichtlinie nicht aus vCenter Server oder einem vSphere-Namespace, wenn im Namespace eine Beanspruchung eines dauerhaften Volumes mit der entsprechenden Speicherklasse ausgeführt wird. Diese Empfehlung gilt auch für Tanzu Kubernetes-Cluster.
Stellen Sie den DevOps-Ingenieuren Speicherressourcen bereit, indem Sie die Speicherrichtlinien dem Namespace zuweisen und Speichergrenzwerte festlegen. Informationen zum Ändern der Zuweisungen der Speicherrichtlinien finden Sie unter Ändern der Speichereinstellungen in einem Namespace. Informationen zum Einstellen von Grenzwerten finden Sie unter Konfigurieren von Einschränkungen für Kubernetes-Objekte in einem vSphere-Namespace.
Überwachen Sie die Kubernetes-Objekte und deren Konformität mit den Speicherrichtlinien im vSphere Client. Weitere Informationen hierzu finden Sie unter Überwachen von dauerhaften Volumes im vSphere Client.
Speicherverwaltungsaufgaben eines DevOps-Ingenieurs
In der Regel führt der DevOps-Ingenieur die folgenden Speicheraufgaben mithilfe von kubectl aus.
Verwalten von Speicherklassen. Weitere Informationen hierzu finden Sie unter Anzeigen von Speicherklassen in einem vSphere-Namespace- oder Tanzu Kubernetes-Cluster.
Bereitstellen und Verwalten statusbehafteter Anwendungen. Weitere Informationen hierzu finden Sie unter Bereitstellen eines dynamischen dauerhaften Volumes für eine statusbehaftete Anwendung.
Durchführen von Lebenszyklusvorgängen für dauerhafte Volumes. Beispiele für die Beanspruchung eines dauerhaften Tanzu Kubernetes-Volumes