Wenn vSphere with Tanzu auf einem vSphere-Cluster aktiviert ist, wird eine Kubernetes-Steuerungsebene innerhalb der Hypervisor-Schicht erstellt. Diese Schicht enthält bestimmte Objekte, die das Ausführen von Kubernetes-Arbeitslasten innerhalb von ESXi ermöglichen.
Ein für vSphere with Tanzu aktivierter Cluster wird als Supervisor-Cluster bezeichnet. Er wird oberhalb einer SDDC-Schicht ausgeführt, die aus ESXi für Computing, NSX-T Data Center oder vSphere-Netzwerke und vSAN oder einer anderen Lösung für freigegebenen Speicher besteht. Freigegebener Speicher wird für dauerhafte Volumes für vSphere-Pods, im Supervisor-Cluster ausgeführte VMs und Pods in einem Tanzu Kubernetes-Cluster verwendet. Nachdem ein Supervisor-Cluster erstellt wurde, können Sie als vSphere-Administrator Namespaces innerhalb des Supervisor-Cluster erstellen, die als vSphere-Namespaces bezeichnet werden. Als DevOps-Ingenieur können Sie Arbeitslasten ausführen, die aus Containern bestehen, die in vSphere-Pods ausgeführt werden, und Tanzu Kubernetes-Cluster erstellen.
- Kubernetes-Steuerungsebenen-VM. Auf den Hosts, die Teil des Supervisor-Cluster sind, werden insgesamt drei Kubernetes-Steuerungsebenen-VMs erstellt. Die drei Steuerungsebenen-VMs verfügen über Lastausgleich, da jede eine eigene IP-Adresse hat. Darüber hinaus wird einer der VMs eine dynamische IP-Adresse zugewiesen. vSphere DRS bestimmt die exakte Platzierung der Steuerungsebenen-VMs auf den ESXi-Hosts und migriert sie bei Bedarf. vSphere DRS ist ebenfalls mit dem Kubernetes Scheduler in den Steuerungsebenen-VMs vernetzt, sodass DRS die Platzierung von vSphere-Pods bestimmt. Wenn Sie als DevOps-Ingenieur einen vSphere Pod planen, wird die Anforderung über den regulären Kubernetes-Workflow an DRS übertragen, wodurch die endgültige Platzierungsentscheidung getroffen wird.
- Spherelet. Ein zusätzlicher Prozess namens Spherelet wird auf jedem Host erstellt. Es handelt sich um ein Kubelet, das nativ auf ESXi portiert wird und dem ESXi-Host ermöglicht, Teil des Kubernetes-Clusters zu werden.
- Container Runtime Executive (CRX). Hinsichtlich Hostd und vCenter Server ist CRX mit einer VM vergleichbar. CRX umfasst einen paravirtualisierten Linux-Kernel, der mit dem Hypervisor zusammenarbeitet. CRX verwendet die gleichen Hardwarevirtualisierungstechniken wie VMs und ist von einer VM-Begrenzung umgeben. Es wird eine Direktstarttechnik verwendet, mit der der Linux-Gast von CRX den Hauptinitialisierungsprozess initiieren kann, ohne die Kernel-Initialisierung durchlaufen zu müssen. Auf diese Weise können vSphere-Pods fast so schnell wie Container starten.
- Die Cluster-API und der VMware Tanzu™ Kubernetes Grid™-Dienst sind Module, die im Supervisor-Cluster ausgeführt werden und die Bereitstellung und Verwaltung von Tanzu Kubernetes-Clustern ermöglichen. Das VM-Dienst-Modul ist für die Bereitstellung und Ausführung eigenständiger VMs und VMs zuständig, die die Tanzu Kubernetes-Cluster bilden.
vSphere-Namespace
Ein vSphere-Namespace legt die Ressourcengrenzen fest, in denen vSphere-Pods und Tanzu Kubernetes-Cluster, die mithilfe des Tanzu Kubernetes Grid-Dienst erstellt wurden, ausgeführt werden können. Bei der anfänglichen Erstellung verfügt der Namespace über unbegrenzte Ressourcen innerhalb des Supervisor-Cluster. Als vSphere-Administrator können Sie Grenzwerte für CPU, Arbeitsspeicher und Speicher sowie die Anzahl der Kubernetes-Objekte festlegen, die innerhalb des Namespace ausgeführt werden können. Ein Ressourcenpool wird pro Namespace in vSphere erstellt. Speichereinschränkungen werden in Kubernetes als Speicherkontingente dargestellt.
Um dem DevOps-Ingenieur Zugriff auf Namespaces zu gewähren, weisen Sie als vSphere-Administrator den verfügbaren Benutzern oder Benutzergruppen Berechtigungen innerhalb einer Identitätsquelle zu, die mit vCenter Single Sign-On verknüpft ist.
Nachdem ein Namespace mit Ressourcen- und Objektgrenzwerten sowie mit Berechtigungen und Speicherrichtlinien erstellt und konfiguriert wurde, können Sie als DevOps-Ingenieur auf den Namespace zugreifen, um Kubernetes-Arbeitslasten auszuführen und Tanzu Kubernetes-Cluster mithilfe des Tanzu Kubernetes Grid-Dienst zu erstellen.
Tanzu Kubernetes-Cluster
Ein Tanzu Kubernetes-Cluster ist eine vollständige Distribution der Open-Source-Kubernetes-Software, die von VMware als Paket bereitgestellt, signiert und unterstützt wird. Im Zusammenhang mit vSphere with Tanzu können Sie den Tanzu Kubernetes Grid-Dienst zum Bereitstellen von Tanzu Kubernetes-Clustern auf dem Supervisor-Cluster verwenden. Sie können die Tanzu Kubernetes Grid-Dienst-API deklarativ aufrufen, indem Sie kubectl und eine YAML-Definition verwenden.
Supervisor-Cluster mit dem vSphere-Netzwerk-Stack konfiguriert
Ein Supervisor-Cluster, der mit dem vSphere-Netzwerk-Stack konfiguriert ist, unterstützt nur die Ausführung von Tanzu Kubernetes-Clustern, die mit dem Tanzu Kubernetes Grid-Dienst erstellt wurden. Der Cluster unterstützt außerdem den vSphere-Netzwerkdienst und den Speicherdienst.
Ein mit dem vSphere-Netzwerk-Stack konfigurierter Supervisor-Cluster bietet keine Unterstützung für vSphere-Pods. Aus diesem Grund ist die Spherelet-Komponente in diesem Supervisor-Cluster nicht verfügbar und Kubernetes-Pods werden nur innerhalb von Tanzu Kubernetes-Clustern ausgeführt. Ein Supervisor-Cluster, der mit dem vSphere-Netzwerk-Stack konfiguriert ist, unterstützt auch nicht den Harbor-Registrierung, da der Dienst nur mit vSphere-Pods verwendet wird.
Ein vSphere-Namespace, der in einem Cluster erstellt wurde, der mit dem vSphere-Netzwerk-Stack konfiguriert ist, unterstützt auch nicht die Ausführung von vSphere-Pods, sondern nur von Tanzu Kubernetes-Clustern.