Für die Größe der Tanzu Kubernetes-Clusterknoten geben Sie die VM-Klasse an. vSphere with Tanzu bietet Standardklassen, und Sie können Ihre eigenen Klassen erstellen. Um eine Klasse zu verwenden, ordnen Sie sie dem Ziel-vSphere-Namespace zu und verweisen Sie auf die Klasse im Manifest.

Informationen zu VM-Klassen

Eine VM-Klasse ist eine Anforderung für Ressourcenreservierungen für die Verarbeitungsleistung auf der virtuellen Maschine (VM), einschließlich CPU und Arbeitsspeicher (RAM). Beispielsweise reserviert der VM-Klassentyp namens „guaranteed-large“ 4 CPUs und 16 GB RAM. Unter VM-Standardklassen finden Sie eine Liste der VM-Standardklassen und die entsprechenden CPU- und RAM-Reservierungen.
Hinweis: Die Größe der VM-Festplatte wird durch die OVA-Vorlage und nicht durch die Definition der VM-Klasse festgelegt. Für Tanzu Kubernetes-Versionen beträgt die Festplattengröße 16 GB. Weitere Informationen finden Sie unter Informationen zu Tanzu Kubernetes-Version-Verteilungen.
Es gibt zwei Reservierungstypen für VM-Klassen: garantiert und bestmöglich. Die garantierte Klasse reserviert ihre konfigurierten Ressourcen vollständig. Dies bedeutet, dass für einen bestimmten Cluster die Spezifikation spec.policies.resources.requests mit der Spezifikation spec.hardware übereinstimmt. Die bestmögliche Klasse lässt eine Überbelegung von Ressourcen zu. Für Produktionsarbeitslasten wird empfohlen, den garantierten VM-Klassentyp zu verwenden.
Warnung: Da der bestmögliche VM-Klassentyp eine Überbelegung von Ressourcen zulässt, ist es möglich, dass keine Ressourcen mehr verfügbar sind, wenn Sie Grenzwerte für den vSphere-Namespace festgelegt haben, in dem Sie den Tanzu Kubernetes-Cluster bereitstellen. Wenn ein Konflikt auftritt und die Steuerungsebene betroffen ist, wird die Ausführung des Clusters möglicherweise beendet. Deshalb sollten Sie für Produktionscluster immer den garantierten VM-Klassentyp verwenden. Wenn Sie den garantierten VM-Klassentyp nicht für alle Produktionsknoten verwenden können, sollten Sie den garantierten Klassentyp zumindest für die Knoten der Steuerungsebene verwenden.

Verwenden von VM-Klassen

Um eine VM-Klasse mit einem Tanzu Kubernetes zu verwenden, muss die VM-Klasse an den vSphere-Namespace gebunden sein, in dem der Cluster bereitgestellt wird. Dazu ordnen Sie die Klasse dem Ziel-Namespace zu. Weitere Informationen finden Sie unter Konfigurieren eines vSphere-Namespace für Tanzu Kubernetes-Versionen.

Um die im Ziel- vSphere-Namespace verfügbaren VM-Klassen aufzulisten, verwenden Sie den Befehl kubectl get virtualmachineclassbinding. Um alle VM-Klassen auf dem Supervisor-Cluster anzuzeigen, führen Sie den Befehl kubectl describe virtualmachineclasses aus. Beachten Sie jedoch, dass der letztgenannte Befehl nur informativen Charakter hat, da nur gebundene Klassen für die Bereitstellung eines Clusters verwendet werden können. Weitere Informationen finden Sie unter Workflow zu Bereitstellung von Tanzu Kubernetes-Clustern mithilfe der TKGS-v1alpha2-API.
Hinweis: Die Anforderung, VM-Klassen mit dem vSphere-Namespace-Cluster zu verbinden, gilt nur für neue Cluster. Vorhandene Tanzu Kubernetes-Cluster, die VM-Standardklassen verwenden, funktionieren weiterhin, ohne dass eine Namespace-Zuordnung erforderlich ist.

VM-Standardklassen

In der Tabelle VM-Standardklassen sind die Standard-VM-Klassentypen aufgeführt, die als Bereitstellungsgrößen für Tanzu Kubernetes-Clusterknoten verwendet werden.

Damit nicht übermäßig Ressourcen gebunden werden, sollten Produktionsarbeitslasten den garantierten Klassentyp verwenden. Um zu vermeiden, dass Ihnen der Arbeitsspeicher ausgeht, sollten Sie die kleine oder extrakleine Klassengröße nicht für Worker-Knoten verwenden, auf denen Sie Arbeitslasten in einer beliebigen Umgebung (Entwicklung, Test oder Produktion) bereitstellen.

Tabelle 1. VM-Standardklassen
Klasse CPU Arbeitsspeicher (GB) Reservierte CPU und reservierter Arbeitsspeicher
guaranteed-8xlarge 32 128 Ja
best-effort-8xlarge 32 128 Nein
guaranteed-4xlarge 16 128 Ja
best-effort-4xlarge 16 128 Nein
guaranteed-2xlarge 8 64 Ja
best-effort-2xlarge 8 64 Nein
guaranteed-xlarge 4 32 Ja
best-effort-xlarge 4 32 Nein
guaranteed-large 4 16 Ja
best-effort-large 4 16 Nein
guaranteed-medium 2 8 Ja
best-effort-medium 2 8 Nein
guaranteed-small 2 4 Ja
best-effort-small 2 4 Nein
guaranteed-xsmall 2 2 Ja
best-effort-xsmall 2 2 Nein

Benutzerdefinierte VM-Klassen

vSphere with Tanzu unterstützt benutzerdefinierte VM-Klassen für die Verwendung mit Tanzu Kubernetes-Clustern. Nachdem Sie eine benutzerdefinierte VM-Klasse definiert haben, müssen Sie sie dem Ziel-vSphere-Namespace verbinden, bevor Sie sie mit einem Cluster verwenden können. Weitere Informationen finden Sie unter Erstellen einer VM-Klasse in vSphere with Tanzu.

Bearbeiten von VM-Klassen

Definitionen für VM-Klassen sind nicht unveränderlich. Jede VM-Klasse kann bearbeitet werden, einschließlich der Definitionen für Standard-VM-Klassen. Wenn eine VM-Klasse bearbeitet wird, bleiben vorhandene Tanzu Kubernetes-Clusterknoten davon unberührt. Neue Tanzu Kubernetes-Cluster verwenden die geänderte Klassendefinition.
Vorsicht: Wenn Sie eine VM-Klasse bearbeiten, die von einem Tanzu Kubernetes-Cluster verwendet wird, und dann diesen Cluster skalieren, verwenden die neuen Knoten die bearbeitete Klassendefinition, aber die vorhandenen Knoten verwenden die ursprüngliche Klassendefinition, was zu einer Fehlanpassung der Klassen führt.