Sie können vSphere with Tanzu verwenden, um vSphere in eine Plattform zur nativen Ausführung von Kubernetes-Arbeitslasten auf der Hypervisor-Schicht umzuwandeln. Bei Aktivierung auf einem vSphere-Cluster bietet vSphere with Tanzu die Möglichkeit, Kubernetes-Arbeitslasten direkt auf ESXi-Hosts auszuführen und Upstream-Kubernetes-Cluster in dedizierten Ressourcenpools zu erstellen.

Herausforderungen des heutigen Anwendungsstapels

Die heutigen verteilten Systeme bestehen aus mehreren Mikrodiensten, in denen in der Regel eine Vielzahl von Kubernetes-Pods und VMs ausgeführt werden. Ein typischer Stack, der nicht auf vSphere with Tanzu basiert, besteht aus einer zugrunde liegenden virtuellen Umgebung mit einer Kubernetes-Infrastruktur, die innerhalb von VMs bereitgestellt wird, bzw. Kubernetes-Pods, die auch auf diesen VMs ausgeführt werden. Jeder Teil des Stacks wird von einer von drei separaten Rollen ausgeführt: Anwendungsentwickler, Kubernetes-Cluster-Administratoren und vSphere-Administratoren.

Abbildung 1. Heutiger Anwendungsstapel
Die verschiedenen Rollen verfügen über keinen Einblick oder Kontrolle über die Umgebungen der jeweils anderen.
  • Als Anwendungsentwickler können Sie Kubernetes-Pods ausführen und auf Kubernetes basierte Anwendungen bereitstellen und verwalten. Sie haben keinen Überblick über den gesamten Stack, auf dem Hunderte von Anwendungen ausgeführt werden.
  • Als DevOps-Ingenieur haben Sie nur die Kontrolle über die Kubernetes-Infrastruktur, ohne die Tools zum Verwalten oder Überwachen der virtuellen Umgebung und zur Behebung von ressourcenbezogenen und anderen Problemen.
  • Als vSphere-Administrator haben Sie die volle Kontrolle über die zugrunde liegende virtuelle Umgebung, aber keinen Einblick in die Kubernetes-Infrastruktur, die Platzierung der verschiedenen Kubernetes-Objekte in der virtuellen Umgebung und deren Ressourcenverbrauch.

Die Ausführung von Vorgängen im gesamten Stack kann schwierig sein, da hierzu Kommunikation zwischen allen drei Rollen erforderlich ist. Auch die fehlende Integration zwischen den verschiedenen Schichten des Stacks kann Herausforderungen mit sich bringen. So hat der Kubernetes Scheduler beispielsweise keinen Einblick in die vCenter Server-Bestandsliste und kann Pods nicht intelligent platzieren.

Wie hilft vSphere with Tanzu?

vSphere with Tanzu erstellt eine Kubernetes-Steuerungsebene direkt auf der Hypervisor-Schicht. Als vSphere-Administrator aktivieren Sie vorhandene vSphere-Cluster für die Arbeitslastverwaltung und erstellen so eine Kubernetes-Schicht innerhalb der ESXi-Hosts, die Teil des Clusters sind. Ein mit der Arbeitslastverwaltung aktivierter Cluster wird als Supervisor-Cluster bezeichnet.

Abbildung 2. vSphere with Tanzu

vSphere with Kubernetes
Wenn eine Kubernetes-Steuerungsebene auf der Hypervisor-Schicht vorhanden ist, werden die folgenden Funktionen in vSphere ermöglicht:
  • Als vSphere-Administrator können Sie Namespaces für Supervisor-Cluster, die als Supervisor-Namespaces bezeichnet werden, erstellen und mit Arbeitsspeicher und Speicher sowie CPU im angegebenen Umfang konfigurieren. Sie stellen diese Supervisor-Namespaces den DevOps-Ingenieuren zur Verfügung.
  • Als DevOps-Ingenieur können Sie Arbeitslasten aus Kubernetes-Containern auf derselben Plattform mit gemeinsam genutzten Ressourcenpools innerhalb eines Supervisor-Namespace ausführen. In vSphere with Tanzu werden Container in einem speziellen VM-Typ ausgeführt, der als vSphere Pod bezeichnet wird. Sie können auch reguläre VMs bereitstellen.
  • Als DevOps-Ingenieur können Sie mehrere Kubernetes-Cluster innerhalb eines Namespace erstellen und verwalten sowie deren Lebenszyklus mithilfe des Tanzu Kubernetes Grid-Dienst verwalten. Mit dem Tanzu Kubernetes Grid-Dienst erstellte Kubernetes-Cluster werden als Tanzu Kubernetes-Cluster bezeichnet.
  • Als vSphere-Administrator können Sie vSphere-Pods, VMs und Tanzu Kubernetes-Cluster mit dem vSphere Client verwalten und überwachen.
  • Als vSphere-Administrator haben Sie vollständigen Einblick in vSphere-Pods, VMs und Tanzu Kubernetes-Cluster, die in unterschiedlichen Namespaces ausgeführt werden, deren Platzierung in der Umgebung und deren Ressourcenverbrauch.

Die Verwendung von Kubernetes auf der Hypervisor-Schicht erleichtert auch die Zusammenarbeit zwischen vSphere-Administratoren und DevOps-Teams, da beide Rollen mit denselben Objekten arbeiten.

Was ist eine Arbeitslast?

In vSphere with Tanzu sind Arbeitslasten Anwendungen, die auf eine der folgenden Arten bereitgestellt werden:

  • Anwendungen, die aus Containern bestehen und innerhalb von vSphere-Pods, regulären VMs oder beiden ausgeführt werden.
  • Tanzu Kubernetes-Cluster, die mithilfe von VMware Tanzu™ Kubernetes Grid™-Dienst bereitgestellt werden.
  • Anwendungen, die innerhalb der Tanzu Kubernetes-Cluster ausgeführt werden, die mithilfe des VMware Tanzu™ Kubernetes Grid™-Dienst bereitgestellt werden.