Bei einem vSphere-Namespace handelt es sich um netzwerkbasierte Mandantenfähigkeit auf Supervisor. vSphere-Namespaces werden zum Hosten von TKG-Dienstclustern verwendet und bieten Netzwerkfunktionen, Rollenberechtigungen, dauerhaften Speicher, Ressourcenkontingente sowie eine Integration von Inhaltsbibliothek und VM-Klasse.

vSphere-Namespace Netzwerk

Ein vSphere-Namespace-Netzwerk ist ein Subnetz, das aus dem Supervisor > Arbeitslastnetzwerk > Namespace-Netzwerk getrennt wird. Das Namespace-Subnetzpräfix definiert die Größe des für jeden vSphere-Namespace reservierten Subnetzes. Die Standardeinstellung ist „/28“.

Das vSphere-Namespace-Netzwerk bietet Konnektivität für TKG-Cluster zu Supervisor. Standardmäßig verwendet der vSphere-Namespace die Netzwerkkonfigurationen der Clusterebene und teilt IP-Adressen aus seinem Subnetz zu. Wenn Sie einen vSphere-Namespace erstellen, werden ein /28-Overlaysegment und der entsprechende IP-Pool für Dienst-Pods in diesem vSphere-Namespace instanziiert.

Wenn der erste TKG-Cluster in einem vSphere-Namespace bereitgestellt wird, verwendet der TKG-Cluster dasselbe Subnetz wie der vSphere-Namespace. Für jeden nachfolgenden TKG-Cluster, der in diesem vSphere-Namespace bereitgestellt wird, wird ein neues Subnetz für diesen Cluster erstellt und mit seinem vSphere-Namespace-Gateway verbunden.

Es gibt eine gemeinsam genutzte Lastausgleichsdienst-Instanz im vSphere-Namespace, die für das Routing des kubectl-Datenverkehrs zu jeder TKG-Clustersteuerungsebene zuständig ist. Darüber hinaus wird für jeden im TKG-Cluster zur Verfügung stehenden Lastausgleichsdienst des Kubernetes-Diensts eine Schicht-4-Lastausgleichsdienst-Instanz für diesen Dienst erstellt.

TKG-Cluster innerhalb desselben vSphere-Namespace nutzen für Nord-Süd-Konnektivität eine SNAT-IP gemeinsam. Für die Ost-West-Konnektivität zwischen Namespaces wird kein SNAT verwendet.

Der vSphere-Namespace ist in der Regel nicht routingfähig. Wenn Sie jedoch ein NSX-Netzwerk verwenden, können Sie das vSphere-Namespace-Netzwerk mit einem routingfähigen Subnetz überschreiben. Weitere Informationen finden Sie unter Überschreiben der Einstellungen für das Arbeitslastennetzwerk für einen vSphere-Namespace.

vSphere-Namespace-Ressourcenpools

Wenn Sie in einer einzelnen Supervisor-Bereitstellung von vSphere-Zonen einen vSphere-Namespace erstellen, wird ein Ressourcenpool erstellt, der diesem Namespace zugrunde liegt. Der vSphere-Namespace dient als logische Einheit von Ressourcen auf Supervisor, einschließlich Computing, Speicher, Berechtigungen, Klassen und Images. Wenn Sie beispielsweise einen CPU- oder Arbeitsspeichergrenzwert auf einem vSphere-Namespace konfigurieren, werden dieselben Ressourcengrenzwerte auf den Ressourcenpool angewendet, der diesem Namespace zugrunde liegt. Auf diese Weise ermöglichen vSphere-Namespaces die Mehrmandantenfähigkeit in Supervisor.

Dieselbe Mehrmandantenerfahrung ist auch für den in drei verschiedenen vSphere-Zonen bereitgestellten Supervisor verfügbar. Wenn ein vSphere-Namespace auf einem Zonen-Supervisor erstellt wird, erstellt das System einen Ressourcenpool in jedem der vSphere-Cluster, die diesen Supervisor unterstützen. Dadurch kann ein in diesem vSphere-Namespace bereitgestellter TKG-Cluster in jeder der zu diesem Supervisor gehörenden Zonen bereitgestellt werden.

Mit vSphere Client können Sie den Ressourcenpool und die Objekte des vSphere-Namespace anzeigen, indem Sie die Perspektive Hosts und Cluster und außerdem die Ansicht VMs und Vorlagen auswählen. Wenn Sie einen TKG-Cluster bereitstellen, wird er im Ziel-vSphere-Namespace erstellt. Bei einer Supervisor-Zonenbereitstellung wird in jedem vSphere-Cluster derselbe Ressourcenpool verwendet.

vSphere-Namespace-Objekte

vSphere-Namespace-Speicher für TKG-Dienstcluster

vSphere Cloud Native Storage (CNS) bietet Speicherrichtlinien, die die Bereitstellung dauerhafter Volumes und der zugehörigen virtuellen Festplatten für die Verwendung mit Kubernetes-Arbeitslasten unterstützen.

Die Container Storage Interface (CSI) ist ein Branchenstandard, den Kubernetes zur Bereitstellung von dauerhaftem Speicher für Container verwendet. Der Supervisor führt einen CNS-CSI-Treiber aus, der vSphere CNS-Speicher über den vSphere-Namespace mit der Kubernetes-Umgebung verbindet. vSphere CNS-CSI kommuniziert direkt mit der CNS-Steuerungsebene für alle Speicher-Bereitstellungsanforderungen, die von TKG-Clustern im vSphere-Namespace stammen.

TKG-Cluster führen eine geänderte Version des vSphere CNS-CSI-Treibers aus, der für alle speicherbezogenen Anforderungen verantwortlich ist, die vom TKG-Cluster stammen. Die Anforderungen werden an CNS-CSI auf Supervisor übermittelt und von dort an CNS auf dem vCenter Server weitergeleitet.

Das Diagramm zeigt die Beziehung zwischen vSphere-Namespace, Supervisor und TKG-Clusterspeichermechanismen.

""

Dauerhafte Speicher-Volumes für TKG-Dienstcluster

Dauerhafte Volumes sind für statusbehaftete Anwendungen in Kubernetes erforderlich. Weitere Informationen zu dauerhaften Volumes finden Sie in der Kubernetes-Dokumentation.

In der vSphere-Umgebung werden die Objekte eines dauerhaften Volumes von virtuellen Festplatten gesichert, die sich in Datenspeichern befinden. Datenspeicher werden durch Speicherrichtlinien dargestellt. Wenn Sie einem vSphere-Namespace eine vSphere-Speicherrichtlinie zuweisen, wird die Speicherrichtlinie als Kubernetes-Speicherklasse für jeden TKG-Cluster in diesem Namespace zur Verfügung gestellt.

TKG unterstützt die dynamische und statische Bereitstellung persistenter Volumes. Bei dynamischer Bereitstellung muss das dauerhafte Volume nicht vorab bereitgestellt werden. Sie können eine Beanspruchung eines dauerhaften Volumes ausgeben, die auf eine im vSphere-Namespace verfügbare Speicherklasse verweist. TKG stellt automatisch das entsprechende dauerhafte Volume mit einer zugrunde liegenden virtuellen Festplatte bereit. Weitere Informationen finden Sie unter Dynamisches Erstellen dauerhafter Speicher-Volumes.

Bei der statischen Bereitstellung verwenden Sie ein vorhandenes Speicherobjekt und stellen es einem Cluster zur Verfügung. Zur Definition des dauerhaften Volumes stellen Sie die Details des vorhandenen Speicherobjekts, die unterstützten Konfigurationen und Bereitstellungsoptionen bereit. Weitere Informationen finden Sie unter Statisches Erstellen persistenter Speicher-Volumes.

Das Diagramm veranschaulicht den Workflow für die Bereitstellung dynamischer dauerhafter Volumes. Sie erstellen eine PVC mithilfe von kubectl im TKG-Cluster. Diese Aktion generiert eine übereinstimmende PVC auf Supervisor und löst den CNS-CSI-Treiber aus, der die CNS-API zum Erstellen von Volumes aufruft.

""

Speicherklasseneditionen für TKG-Dienstcluster

Um einen vSphere-Namespace zu konfigurieren, weisen Sie eine oder mehrere vSphere-Speicherrichtlinien zu. Bei der Anwendung der vSphere-Speicherrichtlinie wird sie in eine Kubernetes-Speicherklasse konvertiert und auf dem Supervisor repliziert. Darüber hinaus repliziert der TKG-Controller die Speicherklasse auf jedem in diesem vSphere-Namespace bereitgestellten TKG-Cluster.

Auf der TKG-Clusterseite werden zwei Editionen der Speicherklasse angezeigt: eine mit dem benutzerdefinierten Namen, der beim Erstellen der vSphere-Speicherrichtlinie angegeben wurde, und die andere mit dem Suffix *-latebinding, das an den Namen angehängt wird.

Die Edition mit später Bindung der Speicherklasse kann von Entwicklern verwendet werden, um eine Bindung an ein dauerhaftes Speicher-Volume durchzuführen, nachdem der Computing-Knoten vom TKG-Pod-Scheduler ausgewählt wurde. Weitere Informationen, wann welche Speicherklasse verwendet werden sollte, finden Sie unter Verwenden von Speicherklassen für persistente Volumes.
kubectl get sc
NAME                                    PROVISIONER              RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
wcpglobal-storage-profile               csi.vsphere.vmware.com   Delete          Immediate              true                   2m43s
wcpglobal-storage-profile-latebinding   csi.vsphere.vmware.com   Delete          WaitForFirstConsumer   true                   2m43s

vSphere-Namespace-Erstellung

Es gibt mehrere Möglichkeiten, einen vSphere-Namespaces zu erstellen.

Administratoren können vSphere-Namespaces mithilfe des vSphere Client erstellen. Weitere Informationen finden Sie unter Erstellen eines vSphere-Namespace für das Hosting von TKG-Dienst-Clustern.

vCenter Single Sign-On-Benutzer, denen die Rollenberechtigung Besitzer für einen vSphere-Namespace erteilt wurde, können vSphere-Namespaces mithilfe von kubectl per Self-Service erstellen. Weitere Informationen finden Sie unter Aktivieren der vSphere-Namespace-Erstellung mithilfe von Kubectl.

VMware stellt neben vCenter Server-APIs für die Verwaltung des Lebenszyklus von vSphere-Namespaces auch SDKs (Software Development Kits) bereit, einschließlich:
  • Die Namespace-Verwaltungs-APIs stellen REST-basierte Ressourcen für die Verwaltung von vSphere-Namespaces bereit.
  • Die Namespaces-APIs stellen REST-basierte Ressourcen für die Verwaltung der Zugriffssteuerung von Themen auf vSphere-Namespaces bereit.
  • Das vSphere Automation SDK for Java stellt mehrere Pakete zur Automatisierung der Erstellung und Lebenszyklusverwaltung von vSphere-Namespaces bereit.
  • Ebenso bietet das vSphere Automation SDK for Python mehrere Pakete für die Automatisierung der Erstellung und der Lebenszyklusverwaltung von vSphere-Namespaces.