TKG-Dienst bietet Self-Service-Lebenszyklusverwaltung von Kubernetes-Arbeitslastclustern. Der TKG-Dienst mit Supervisor ist für die vSphere-Umgebung optimiert und lässt sich in die zugrunde liegende Infrastruktur, einschließlich vCenter, ESXi, virtuelle Netzwerke und Cloud Native Storage, integrieren. Mit dem TKG-Dienst können Sie konforme Kubernetes-Cluster bereitstellen und Upstream-Parallelität beibehalten.

Der TKG-Dienst enthält mehrere Komponenten, die in die vSphere IaaS control plane integriert sind.
Abbildung 1. Komponenten für TKG-Dienst
TKG-Dienstkomponenten

Arbeitslastverwaltung

Die Arbeitslastverwaltung ist eine VMware-Lösung, die eine Kubernetes-Steuerungsebene in der nativen vSphere-Infrastruktur bereitstellt. Durch die Aktivierung der Arbeitslastverwaltung können Sie einen oder mehrere Supervisoren in Ihrer vSphere-Umgebung bereitstellen. Die Arbeitslastverwaltung ist im Lieferumfang von vCenter Server enthalten, aber separat lizenziert.

Supervisor

Supervisor ist ein Kubernetes-Cluster, der als Steuerungsebene für die Verwaltung von Arbeitslastclustern dient. Sie konfigurieren Supervisor zur Unterstützung von Entwicklern, die Tanzu Kubernetes Grid-Cluster bereitstellen und betreiben.

Supervisor-Bereitstellung: vSphere-Cluster

Herkömmlicherweise wird Supervisor ist auf einem einzelnen vSphere-Cluster bereitgestellt. Ein vSphere-Cluster ist eine Sammlung von ESXi-Hosts, die von einem vCenter Server verwaltet werden. Ein vSphere-Cluster muss mit bestimmten Funktionen zur Unterstützung von Supervisor konfiguriert werden:
  • Mehrere ESXi Hosts, die über einen vSphere Distributed Switch (VDS) verbunden sind
  • Freigegebener Speicher ist konfiguriert, wie vSAN oder NFS
  • vSphere HA und vollautomatisierte DRS sind aktiviert
  • Lifecycle Manager ist aktiviert
  • Netzwerk ist konfiguriert, entweder NSX mit eingebettetem Lastausgleichsdienst oder VDS mit externem Lastausgleichsdienst
Architektonisch sollten Sie für Produktionsbereitstellungen von TKG auf dem Supervisor den Host oder Cluster der Management Plane, auf dem vCenter Server ausgeführt wird, vom Cluster der Rechnerebene trennen, in dem Supervisor aktiviert wird. Wenn Sie einen vSphere-Cluster zum Hosten vCenter Server verwenden, sollte für diesen Cluster DRS nicht aktiviert sein. In der vCenter-Dokumentation finden Sie weitere Details.

Supervisor-Bereitstellung: vSphere-Zonen

In vSphere 8 werden vSphere-Zonen eingeführt. Sie können vSphere-Cluster zu vSphere-Zonen zuweisen, um Hochverfügbarkeit und Fault Tolerance für Supervisor bereitzustellen. Durch die Supervisor-Bereitstellung in verschiedenen vSphere-Zonen können Sie TKG-Cluster in bestimmten Verfügbarkeitszonen bereitstellen.

Bei einer Bereitstellung von Supervisor auf einem einzelnen vSphere-Cluster besteht eine 1:1-Beziehung zwischen dem Supervisor und dem vSphere-Cluster. Bei einer Zonenbereitstellung mit Supervisor erstreckt sich der Supervisor über drei vSphere-Cluster, um Hochverfügbarkeit und Fehlerdomänen für TKG-Cluster auf Supervisor bereitzustellen.

Ein vSphere-Administrator erstellt die drei vSphere-Zonen und ordnet sie einem vSphere-Cluster zu. Für eine Supervisor-Bereitstellung in drei vSphere-Zonen gelten neben den Anforderungen für vSphere-Cluster u. a. folgende spezielle Anforderungen:

  • Drei vSphere-Zonen, die über einen vSphere Distributed Switch (VDS) verbunden sind
  • Jede vSphere-Zone enthält einen einzelnen vSphere-Cluster
  • Ein Supervisor muss für genau drei vSphere-Zonen bereitgestellt werden
  • Eine vSphere-Speicherrichtlinie ist auf der vSphere-Zone verfügbar

vSphere-Namespace

Ein vSphere-Namespace ist ein Namespace auf dem Supervisor, in dem ein oder mehrere Tanzu Kubernetes Grid-Cluster bereitgestellt werden. Für jede vSphere-Namespace konfigurieren Sie rollenbasierte Zugriffssteuerung, dauerhaften Speicher, Ressourcengrenzwerte, eine Image-Bibliothek und VM-Klassen.

TKG-Dienst

TKG-Dienst ist eine Implementierung des Open Source-Cluster-API-Projekts, das einen Satz benutzerdefinierter Ressourcen und Controller definiert, um den Lebenszyklus von Kubernetes-Clustern zu verwalten. Tanzu Kubernetes Grid ist eine Komponente von Supervisor.

TKG-Dienst stellt drei Ebenen von Controllern zur Verfügung, um den Lebenszyklus von TKG-Clustern zu verwalten. Dazu zählen VM-Dienst, Cluster-API und Cloud-Anbieter-Plug-In.

VM-Operator
Der VM-Dienst-Controller stellt eine deklarative API im Kubernetes-Stil für die Verwaltung von VMs und zugeordneten vSphere-Ressourcen bereit. Der VM-Dienst führt das Konzept „Klassen virtueller Maschinen“ ein, die abstrakte wiederverwendbare Hardwarekonfigurationen darstellen. TKG-Dienst verwendet den VM-Dienst, um den Lebenszyklus der Steuerungsebene und der Worker-Knoten-VMs zu verwalten, die einen Arbeitslastcluster hosten.
Cluster-API
Der Cluster-API-Controller stellt deklarative APIs im Kubernetes-Stil für die Erstellung, Konfiguration und Verwaltung von Clustern bereit. Die Eingaben für die Cluster-API umfassen eine Ressource, die den Cluster beschreibt, eine Gruppe von Ressourcen, die die virtuellen Maschinen beschreiben, aus denen sich der Cluster zusammensetzt, sowie eine Reihe von Ressourcen, die Cluster-Add-Ons beschreiben.
Cloud-Anbieter-Plug-In
Der TKG-Dienst stellt Arbeitslastcluster bereit, die die Komponenten enthalten, die für die Integration der zugrunde liegenden vSphere-Namespace-Ressourcen erforderlich sind. Zu diesen Komponenten gehört ein Cloud-Anbieter-Plug-In, das in den Supervisor integriert wird. TKG verwendet das Cloud-Anbieter-Plug-In, um Anforderungen bezüglich dauerhafter Volumes an den Supervisor zu übergeben, der in den VMware Cloud Native Storage (CNS) integriert ist.

Tanzu Kubernetes-Versionen

Eine Tanzu Kubernetes-Version bietet die von VMware signierte und unterstützte Kubernetes-Softwareverteilung und Add-Ons für die Verwendung mit Tanzu Kubernetes Grid-Clustern.

Jede Tanzu Kubernetes-Version wird als VM-Vorlage (OVA-Datei) verteilt. Der Tanzu Kubernetes Grid verwendet das OVA-Format, um die Knoten der virtuellen Maschine für TKG-Cluster zu erstellen. Tanzu Kubernetes-Versionen werden entsprechend der Kubernetes-Versionsverwaltung versioniert und enthalten Betriebssystemanpassungen und Optimierungen für die vSphere-Infrastruktur.

Eine Liste der Tanzu Kubernetes-Versionen und Informationen zur Kompatibilität mit dem Supervisor finden Sie in den Versionshinweisen der Tanzu Kubernetes-Versionen. Weitere Informationen finden Sie auch in der vSphere IaaS control plane-Supportrichtlinie.

Inhaltsbibliothek

Tanzu Kubernetes-Versionen werden TKG-Clustern mithilfe einer vCenter-Inhaltsbibliothek zur Verfügung gestellt. Sie können eine abonnierte Inhaltsbibliothek erstellen und automatisch TKRs empfangen, wenn sie von VMware zur Verfügung gestellt werden, oder eine lokale Inhaltsbibliothek verwenden und TKRs manuell hochladen.

TKG-Dienst-Cluster Komponenten

Die Komponenten, die in einem TKG-Dienst-Cluster ausgeführt werden, umfassen vier Bereiche des Produkts: Authentifizierung, Speicher, Netzwerk und Lastausgleich.

Authentifizierungs-Webhook

Der Authentifizierungs-Webhook wird als Pod innerhalb des Clusters ausgeführt, um Benutzerauthentifizierungstoken zu validieren.

TKG-Cluster unterstützen die Authentifizierung auf zwei Arten: über vCenter Single Sign-On und über einen externen Identitätsanbieter, der das Open ID Connect (OIDC)-Protokoll unterstützt.

TKG führt den Pinniped-OIDC-Client auf Supervisor und auf TKG-Clusterknoten aus. Durch die Konfiguration eines externen OIDC-Anbieters für Supervisor werden die Pinniped-Komponenten automatisch konfiguriert.

TKG unterstützt verschiedene Clients für die Authentifizierung mit Supervisor. Dazu zählen das vSphere-Plug-In für kubectl und die Tanzu-CLI.

Container-Speicherschnittstelle (CSI)

Ein paravirtuelles CSI-Plug-In ist ein Kubernetes-Pod, der in einem TKG-Cluster ausgeführt wird und in VMware Cloud Native Storage (CNS) über Supervisor integriert wird. Ein Kubernetes-Pod, der in einem TKG-Cluster ausgeführt wird, kann drei Arten von virtuellen Festplatten mounten: flüchtig, dauerhaftes Volume und Container-Image.

Flüchtige Speicherung

Ein Pod benötigt flüchtigen Speicher, um flüchtige Daten wie Kubernetes-Objekte als Protokolle, Volumes und Konfigurationszuordnungen zu speichern. Die flüchtige Speicherung wird beibehalten, solange der Pod vorhanden ist. Flüchtige Daten bleiben auch nach einem Neustart des Containers erhalten, aber sobald der Pod gelöscht wird, wird die virtuelle Festplatte, auf der die flüchtigen Daten gespeichert sind, nicht mehr angezeigt.

Dauerhafte Speicherung

TKG nutzt das vSphere-Speicherrichtlinien-Framework für die Definition von Speicherklassen und die Reservierung dauerhafter Volumes. TKG-Cluster übergeben Anforderungen bezüglich dauerhafter Volumes an den Supervisor, der in den VMware Cloud Native Storage (CNS) integriert ist. Dauerhafte Volumes werden auf Clusterknoten dynamisch mithilfe einer Speicherklasse oder manuell bereitgestellt.

Container-Image-Speicherung

Container innerhalb eines Kubernetes-Pods verwenden Images, die die auszuführende Software enthalten. Der Pod mountet Images, die von ihren Containern als virtuelle Image-Festplatten verwendet werden. Wenn der Pod seinen Lebenszyklus abgeschlossen hat, werden die virtuellen Image-Festplatten vom Pod getrennt. Kubelet ist dafür verantwortlich, Container-Images aus der Image-Registrierung abzurufen und sie in virtuelle Festplatten umzuwandeln, um sie innerhalb des Pods auszuführen.

Container Network Interface (CNI)

Das Container Network Interface-Plug-In ist ein CNI-Plug-In, das Pod-Netzwerke bereitstellt.

TKG-Cluster unterstützen die folgenden Container Network Interface (CNI)-Optionen: Antrea (Standard) und Calico. Darüber hinaus stellt TKG die Antrea-NSX-geroutete CNI für die Implementierung routingfähiger Pods-Netzwerke bereit.

In der Tabelle werden Netzwerkfunktionen von TKG-Clustern und deren Implementierung zusammengefasst.

Tabelle 1. TKG-Dienst-Cluster-Netzwerk
Endpoint Anbieter Beschreibung
Pod-Konnektivität Antrea oder Calico Containernetzwerkschnittstelle für Pods. Antrea verwendet Open vSwitch. Calico verwendet die Linux-Bridge mit BGP.
Diensttyp: ClusterIP Antrea oder Calico Standardmäßiger Kubernetes-Diensttyp, auf den nur innerhalb des Clusters zugegriffen werden kann.
Diensttyp: NodePort Antrea oder Calico Ermöglicht externen Zugriff über einen Port, der vom Kubernetes-Netzwerk-Proxy auf jedem Worker-Knoten geöffnet wird.
Netzwerkrichtlinie Antrea oder Calico Steuert den Datenverkehr, der von und zu ausgewählten Pods und Netzwerk-Endpoints zulässig ist. Antrea verwendet Open vSwitch. Calico verwendet Linux-IP-Tabellen.
Cloud-Anbieterimplementierung
Mit der Cloud-Anbieterimplementierung können Sie Kubernetes-Lastausgleichsdienste und Ingress-Dienste erstellen.
Tabelle 2. TKG-Lastausgleich
Endpoint Anbieter Beschreibung
Diensttyp: LoadBalancer

Der eingebettete Lastausgleichsdienst (Teil des NSX-Netzwerk-Stacks)

NSX Advanced Load Balancer (separate Installation für die Verwendung mit VDS-Netzwerk)

HAProxy (separate Installation für die Verwendung mit VDS-Netzwerk)

Für den eingebetteten NSX-Lastausgleichsdienst ein virtueller Server pro Diensttypdefinition.

Weitere Informationen zu NSX Advanced Load Balancer finden Sie in diesem Abschnitt dieser Dokumentation.

Weitere Informationen zu HAProxy finden Sie in diesem Abschnitt dieser Dokumentation.

Hinweis: Einige Lastausgleichsfunktionen sind möglicherweise nicht für jeden unterstützten Lastausgleichstyp verfügbar, z. B. statische IPs.
Cluster-Ingress Ingress-Controller eines Drittanbieters Bietet Routing für eingehenden Pod-Datenverkehr. Sie können jeden Ingress-Controller von Drittanbietern verwenden, wie z. B. Contour.

TKG-Dienst-Cluster-APIs

TKG-Dienst bietet zwei APIs für die Bereitstellung und Verwaltung des Lebenszyklus von TKG-Clustern.
  • API-Version v1alpha3 für Tanzu Kubernetes-Cluster
  • API-Version v1beta1 für Cluster basierend auf einer ClusterClass

Mit der v1alpha3-API können Sie konforme Kubernetes-Cluster des Typs TanzuKubernetesCluster erstellen. Dieser Clustertyp ist mit gängigen Standardeinstellungen für die schnelle Bereitstellung vorkonfiguriert und kann angepasst werden. Mit der v1beta1-API können Sie basierend auf einer von VMware bereitgestellten standardmäßigen ClusterClass konforme Kubernetes-Cluster des Typs Cluster erstellen.

Hinweis: Um vSphere IaaS control plane von vSphere 7 auf vSphere 8 zu aktualisieren, muss im TKG-Cluster die v1alpha2-API ausgeführt werden. Die v1alpha2-API wurde mit v7.0 Update 3 eingeführt. Die v1alpha1-API ist veraltet. Weitere Informationen finden Sie unter .

TKG-Dienst-Cluster-Clients

TKG auf vSphere 8 Supervisor unterstützt verschiedene Clientschnittstellen für die Bereitstellung, Überwachung und Verwaltung von TKG-Clustern.
  • vSphere Client zum Konfigurieren von Supervisor und Überwachen von bereitgestellten TKG-Clustern.
  • vSphere-Plug-In für kubectl für die Authentifizierung mit Supervisor und TKG-Clustern mithilfe von vCenter Single Sign-On.
  • kubectl zur deklarativen Bereitstellung und Verwaltung des Lebenszyklus von TKG-Clustern und zur Interaktion mit Supervisor.
  • vSphere Docker Credential Helper, um Images in eine und aus einer Container-Registry zu übertragen.
  • Tanzu-CLI für die Bereitstellung von Clustern mit Befehlen und für die Installation von Tanzu-Paketen.
  • Tanzu Mission Control-Webschnittstelle für die Verwaltung von TKG-Clustern.