Um die Größe der TKG-Clusterknoten festzulegen, geben Sie die VM-Klasse an. TKG 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 TKG-Clustermanifest.

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.
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.
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, falls Grenzwerte für den vSphere-Namespace festgelegt wurden, in dem Sie den TKG-Cluster bereitstellen. Wenn ein Konflikt auftritt und die Steuerungsebene betroffen ist, wird die Ausführung des Clusters möglicherweise beendet. Verwenden Sie aus diesem Grund den garantierten VM-Klassentyp für Produktionscluster. Wenn Sie den garantierten VM-Klassentyp nicht für alle Produktionsknoten verwenden können, verwenden Sie den garantierten Klassentyp mindestens für die Knoten der Steuerungsebene.

VM-Standardklassen

In der Tabelle 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

Verwenden von VM-Klassen mit TKG-Clustern

Um eine VM-Klasse mit einem TKG-Cluster 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 TKG-Cluster auf Supervisor.

Um die im Ziel- vSphere-Namespace verfügbaren VM-Klassen aufzulisten, verwenden Sie den Befehl kubectl get virtualmachineclassbinding.
Hinweis: Der Befehl kubectl describe virtualmachineclasses gibt alle VM-Klassen zurück, die sich auf dem Supervisor befinden. Da jedoch nur gebundene Klassen für die Bereitstellung eines Clusters verwendet werden können, dient dieser Befehl nur zur Informationszwecken.
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 TKG-Clusterknoten davon unberührt. Neue TKG-Cluster verwenden die geänderte Klasse.
Vorsicht: Wenn Sie eine VM-Klasse bearbeiten, die von einem TKG-Cluster verwendet wird, und dann diesen Cluster horizontal skalieren, verwenden die neuen Knoten die bearbeitete Klassendefinition, die vorhandenen Knoten jedoch die ursprüngliche Klassendefinition, was zu einer Diskrepanz zwischen Klassen führt.

vSphere with Tanzu unterstützt benutzerdefinierte VM-Klassen für die Verwendung mit TKG-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. In der Dokumentation zu Supervisor-Diensten finden Sie weitere Details.