vSphere with Tanzu verwendet mehrere Komponenten für die Integration in vSphere Storage.

Cloudnativer Speicher (CNS) in vCenter Server
Die CNS-Komponente befindet sich in vCenter Server. Es handelt sich um eine Erweiterung der vCenter Server-Verwaltung, die die Bereitstellungs- und Lebenszyklusvorgänge für dauerhafte Volumes implementiert.
Bei der Bereitstellung von Container-Volumes interagiert die Komponente mit der FCD-Funktionalität (First Class Disk, Festplatte der 1. Klasse bzw. erstklassige Festplatte) von vSphere, um virtuelle Festplatten zur Unterstützung der Volumes zu erstellen. Darüber hinaus kommuniziert die CNS-Serverkomponente mit der speicherrichtlinienbasierten Verwaltung, um den Festplatten die erforderliche Befehlseben zu garantieren.
Die CNS-Komponente führt auch Abfragevorgänge aus, mit denen vSphere-Administratoren dauerhafte Volumes und deren unterstützende Speicherobjekte über vCenter Server verwalten und überwachen können.
Erstklassige Festplatte (First Class Disk, FCD)
Wird auch als verbesserte virtuelle Festplatte bezeichnet. Es handelt sich um eine benannte virtuelle Festplatte, die mit keiner VM verknüpft ist. Diese Festplatten befinden sich auf einem VMFS-, NFS- oder vSAN-Datenspeicher und unterstützen dauerhafte ReadWriteOnce-Volumes.

Bei der FCD-Technologie werden Lebenszyklusvorgänge im Zusammenhang mit dauerhaften Volumes außerhalb eines VM- oder Pod-Lebenszyklus durchgeführt.

Beachten Sie bei der Verwendung von FCDs Folgendes:
  • FCDs unterstützen NFS 4.x-Protokolle nicht. Verwenden Sie stattdessen NFS 3.
  • vCenter Server serialisiert keine Vorgänge auf demselben FCD. Dies führt dazu, dass Anwendungen nicht gleichzeitig Vorgänge auf derselben FCD ausführen können. Das gleichzeitige Klonen, Verlagern, Löschen, Abrufen und so weiter über verschiedene Threads führt zu unvorhersehbaren Ergebnissen. Um Probleme zu vermeiden, müssen Anwendungen Vorgänge auf derselben FCD in sequenzieller Reihenfolge ausführen.
  • FCD ist kein verwaltetes Objekt und bietet keine Unterstützung für eine globale Sperre, die mehrere Schreibvorgänge für eine einzelne FCD schützt. Dies führt dazu, dass FCD nicht mehrere vCenter Server-Instanzen unterstützt, die dieselbe FCD verwalten. Wenn Sie mehrere vCenter Server-Instanzen mit FCDs verwenden müssen, sind folgenden Optionen verfügbar:
    • Mehrere vCenter Server-Instanzen können verschiedene Datenspeicher verwalten.
    • Mehrere vCenter Server-Instanzen funktionieren nicht auf derselben FCD.
Speicherrichtlinienbasierte Verwaltung
Die speicherrichtlinienbasierte Verwaltung ist ein vCenter Server-Dienst, der die Bereitstellung von dauerhaften Volumes und deren unterstützenden virtuellen Festplatten gemäß den in einer Speicherrichtlinie beschriebenen Speicheranforderungen unterstützt. Nach der Bereitstellung überwacht der Dienst die Konformität des Volumes mit den Merkmalen der Speicherrichtlinien. Weitere Informationen zur speicherrichtlinienbasierten Verwaltung finden Sie unter Speicherrichtlinienbasierte Verwaltung.
vSphere CNS-CSI
Die vSphere CNS-CSI-Komponente entspricht der CSI-Spezifikation (Container Storage Interface), einem Branchenstandard, durch den eine Schnittstelle für die Containerorchestrierung zur Verfügung gestellt wird, die u. a. von Kubernetes zur Bereitstellung von dauerhaftem Speicher genutzt wird. Der CNS-CSI-Treiber wird im Supervisor-Cluster ausgeführt und stellt in einem vSphere-Namespace die Verbindung zwischen vSphere-Speicher und der Kubernetes-Umgebung her. vSphere CNS-CSI kommuniziert direkt mit der CNS-Steuerungsebene für alle Speicher-Provisioning-Anforderungen, die von vSphere-Pods stammen, und Pods, die in einem Tanzu Kubernetes-Cluster im Namespace ausgeführt werden.
Paravirtuelle CSI (pvCSI)
pvCSI ist die für Tanzu Kubernetes-Cluster geänderte Version des vSphere CNS-CSI-Treibers. Die pvCSI-Komponente befindet sich im Tanzu Kubernetes-Cluster und ist für alle aus dem Tanzu Kubernetes-Cluster stammenden, speicherbezogenen Anforderungen zuständig. Die Anforderungen werden an CNS-CSI übermittelt und von dort an CNS in vCenter Server weitergeleitet. Dies führt dazu, dass pvCSI nicht direkt mit der CNS-Komponente kommuniziert, sondern bei allen Speicherbereitstellungsvorgängen auf CNS-CSI angewiesen ist.
Im Gegensatz zu CNS-CSI benötigt pvCSI keine Anmeldedaten für die Infrastruktur. pvCSI ist mit einem Dienstkonto im vSphere-Namespace konfiguriert.

CNS wird als vCenter Server-Komponente und CNS-CSI als Supervisor-Cluster-Komponente angezeigt. Bei pvCSI handelt es sich um eine Komponente des TKG-Clusters.

Im Folgenden ist dargestellt, wie unterschiedliche Komponenten miteinander interagieren, wenn ein DevOps-Ingenieur einen speicherbezogenen Vorgang im Tanzu Kubernetes-Cluster durchführt und z. B. eine Beanspruchung eines dauerhaften Volumes (Persistent Volume Claim, PVC) erstellt.

Der DevOps-Ingenieur erstellt ein PVC über die Befehlszeile im Tanzu Kubernetes-Cluster. Durch diese Aktion wird ein übereinstimmendes PVC auf dem Supervisor-Cluster generiert. Außerdem wird CNS-CSI ausgelöst. CNS-CSI ruft die CNS-API zum Erstellen von Volumes auf.

Zur Erstellung eines dauerhaften Volumes tragen drei Komponenten bei.

Nach erfolgreicher Erstellung eines Volumes wird der Vorgang über den Supervisor-Cluster wieder an den Tanzu Kubernetes-Cluster weitergegeben. Infolge dieser Weitergabe können die Benutzer das dauerhafte Volume und die Beanspruchung des dauerhaften Volumes im gebundenen Zustand im Supervisor-Cluster sehen. Außerdem wird ihnen beides im gebundenen Zustand auch im Tanzu Kubernetes-Cluster angezeigt.