In diesem Thema wird erläutert, wie Sie eine flache Konfigurationsdatei oder eine Objektspezifikation im Kubernetes-Stil verwenden, um einen Tanzu Kubernetes Grid (TKG)-Arbeitslastcluster zu konfigurieren, bevor Sie ihn auf vSphere 8 with Tanzu bereitstellen. Informationen zum Konfigurieren eines Arbeitslastclusters für die Bereitstellung auf vSphere mit einem eigenständigen Verwaltungscluster finden Sie unter vSphere mit Konfigurationsdateien für eigenständige Verwaltungscluster.
Allgemeine Informationen zur Konfiguration von Arbeitslastclustern mithilfe von Konfigurationsdateien und Objektspezifikationen finden Sie unter Konfigurationsdateien und Objektspezifikationen.
Informationen zur Verwendung von vSphere-spezifischen Arbeitslastclusterfunktionen, die eine Konfiguration außerhalb der Konfigurationsdatei oder der Objektspezifikation des Clusters erfordern, finden Sie unter Cluster auf vSphere.
Um einen Arbeitslastcluster vor der Bereitstellung in vSphere with Tanzu zu konfigurieren, erstellen Sie eine Objektspezifikationsdatei im Kubernetes-Stil, wenn Sie einen klassenbasierten Cluster oder eine Clusterkonfigurationsdatei konfigurieren, wenn Sie einen TKC-Cluster konfigurieren. Wenn Sie eine dieser Dateien an die Option -f von tanzu cluster create übergeben, verwendet die Tanzu CLI die in der Datei definierten Konfigurationsinformationen, um eine Verbindung zu Ihrem vSphere-Konto herzustellen und die vom Cluster verwendeten Ressourcen zu erstellen.
Informationen zur Konfiguration:
Informationen zu den obigen Clustertypen finden Sie unter Workload-Clustertypen.
So konfigurieren Sie einen Arbeitslastcluster für die Bereitstellung auf vSphere 8 mit Tanzu:
Erstellen oder passen Sie eine Cluster Objektspezifikation an. Die Dokumentation zu vSphere 8 hat Beispiel-Cluster-Objektspezifikationen, mit denen gearbeitet werden kann:
Legen Sie VM-Typen, Skalierung und andere grundlegende Clusterkonfigurationen im Block topology der Spezifikationsdatei fest. Informationen zum topology-Block finden Sie unter Klassenbasiertes Clusterobjekt und Topologiestruktur und ClusterClass-Topologievariablen unten.
(Optional) Informationen zum Anpassen von Attributen, die nicht im Cluster-Objekt selbst festgelegt werden können, z. B. einmalige Einstellungen für Containerschnittstellen in der Clusterinfrastruktur, finden Sie unter Konfigurieren von einmaligen Infrastruktureinstellungen.
Folgende Einstellungen können auf der obersten Ebene in einem Cluster-Objekt vom Typ tanzukubernetescluster konfiguriert werden. Informationen zu den variables, die Sie konfigurieren können, finden Sie unter ClusterClass-Topologievariablen:
spec:
clusterNetwork
apiServerPort
services
cidrBlocks
pods
cidrBlocks
serviceDomain
controlPlaneEndpoint
host
port
topology
class
version
rolloutAfter
controlPlane
metadata
replicas
nodeDrainTimeout
nodeDeletionTimeout
machineHealthCheck
maxUnhealthy
nodeStartupTimeout
unhealthyConditions
workers
machineDeployments
metadata
- class
name
failureDomain
replicas
nodeDrainTimeout
nodeDeletionTimeout
machineHealthCheck
maxUnhealthy
nodeStartupTimeout
unhealthyConditions
variables
name
value
variables
name
value
Diese Felder werden in der Cluster-Objekttypspezifikation im Tanzu Framework-Repository festgelegt: cluster_types.go.
json: an, ob das Feld optional ist. Optionale Felder haben die Einstellung omitempty.Topology den Eintrag *Workers in der Typspezifikation, sodass workers unter topology in der Objektspezifikation eingerückt ist.Die Optionen - class und variables sind in der Clusterklasse des Cluster-Objekts festgelegt, die als der spec.topology.class-Wert des Clusters konfiguriert ist. In vSphere with Tanzu ist dies beispielsweise ein ClusterClass-Objekt mit dem Namen tanzukubernetescluster, das sich von einem TanzuKubernetesCluster-Objekt unterscheidet, wie unter Typen von Arbeitslastclustern erläutert wird.
Zu den konfigurierbaren variables zählen vmClass, storageClass, proxy, nodeLabels, extensionCert und viele andere. Eine Liste finden Sie unter ClusterClass-Topologievariablen weiter unten. Diese Variablen konfigurieren und überschreiben Einstellungen in Objekten, die dem Clusterobjekt zugrunde liegen, wie z. B. KubeAdmConfig- und Machine-Objekte.
Die Clusterklasse tanzukubernetescluster, die standardmäßige ClusterClass für TKG in vSphere with Tanzu-Arbeitslastclustern, unterstützt die folgenden in topology.variables und topology.workers.machineDeployments.variables festgelegten Variablen. Variableneinstellungen, die für Maschinenbereitstellungen wie z. B. Knotenpools spezifisch sind, überschreiben globale Einstellungen.
Diese Variablen konfigurieren und überschreiben Einstellungen in Objekten, die dem Clusterobjekt zugrunde liegen, wie z. B. die Einstellungen vmClass, storageClass und proxy, die in den Objekten KubeAdmConfig und Machine festgelegt sind. Auf diese Weise können Benutzer einen Cluster vollständig innerhalb der Cluster-Objektspezifikation konfigurieren, ohne Objektspezifikationen niedrigerer Ebenen bearbeiten zu müssen:
clusterEncryptionConfigYamlcontrolPlaneVolumesdefaultRegistrySecretdefaultStorageClassextensionCertnodePoolLabelsnodePoolTaintsnodePoolVolumesntpproxystorageClassstorageClassesTKR_DATAtrustuservmClassDie folgenden Themen in der Dokumentation zu vSphere 8 beschreiben die Neukonfiguration eines laufenden Clusters durch Ändern der Einstellungen storageClass und vmClass:
Um eine Clusterkonfigurationsdatei für einen TKC-Arbeitslastcluster (Legacy) in vSphere 8 zu erstellen, können Sie eine vorhandene Konfigurationsdatei für eine vorherige Bereitstellung in vSphere with Tanzu kopieren und aktualisieren. Alternativ können Sie eine Datei mithilfe einer leeren Vorlage von Grund auf neu erstellen.
Um einen von einem vSphere with Tanzu-Supervisor bereitgestellten Arbeitslastcluster zu konfigurieren, legen Sie mithilfe von Variablen die Speicherklassen, VM-Klassen, Dienstdomäne, den Namespace und weitere erforderliche Werte zum Erstellen des Clusters fest. In der folgenden Tabelle sind die Variablen aufgeführt, die Sie in die Konfigurationsdatei für einen TKC-basierten Cluster aufnehmen können. Alternativ können Sie sie als lokale Umgebungsvariablen festlegen.
| Erforderliche Variablen | ||
|---|---|---|
| Variable | Werttyp oder Beispiel | Beschreibung |
INFRASTRUCTURE_PROVIDER |
tkg-service-vsphere |
Immer tkg-service-vsphere für TanzuKubernetesCluster-Objekte auf vSphere with Tanzu. |
CLUSTER_PLAN |
dev, prod oder ein benutzerdefinierter Plan |
Legt die Knotenanzahl fest. |
CLUSTER_CIDR |
CIDR-Bereich | Der für Pods zu verwendende CIDR-Bereich. Der empfohlene Bereich ist 100.96.0.0/11. Ändern Sie diesen Wert nur, wenn der empfohlene Bereich nicht verfügbar ist. |
SERVICE_CIDR |
Der für die Kubernetes-Dienste zu verwendende CIDR-Bereich. Der empfohlene Bereich ist 100.64.0.0/13. Ändern Sie diesen Wert nur, wenn der empfohlene Bereich nicht verfügbar ist. |
|
SERVICE_DOMAIN |
Domäne | Beispiel: my.example.com oder cluster.local, wenn nicht DNS. Wenn Sie den Knoten FQDNs zuweisen, ist eine DNS-Suche erforderlich. |
CONTROL_PLANE_VM_CLASS |
Eine Standard-VM-Klasse für vSphere with Tanzu, z. B. guaranteed-large.Weitere Informationen finden Sie in der Dokumentation zu vSphere with Tanzu unter Verwenden von VM-Klassen mit TKG-Clustern auf Supervisor. |
VM-Klasse für Knoten der Steuerungsebene |
WORKER_VM_CLASS |
VM-Klasse für Worker-Knoten | |
| Optionale Variablen | ||
| Variable | Werttyp oder Beispiel | Beschreibung |
CLUSTER_NAME |
Zeichenfolge | Überschrieben durch das Argument CLUSTER-NAME, das an tanzu cluster create übergeben wird.Dieser Name muss den DNS-Hostnamenanforderungen entsprechen, wie in RFC 952 beschrieben und in RFC 1123 geändert, und darf höchstens 42 Zeichen lang sein. Note: Sie müssen einen eindeutigen Namen für alle Arbeitslastcluster über alle Namespaces hinweg angeben. Wenn Sie einen Clusternamen angeben, der in einem anderen Namespace verwendet wird, schlägt die Clusterbereitstellung mit einer Fehlermeldung fehl. |
NAMESPACE |
Namespace; standardmäßig default |
Der Namespace, in dem der Cluster bereitgestellt werden soll. Um den Namespace des Supervisors zu finden, führen Sie kubectl get namespaces aus. |
CNI |
antrea oder calico; standardmäßig antrea |
Container-Netzwerkschnittstelle für gehostete Arbeitslasten, entweder Antrea oder Calico. |
CONTROL_PLANE_MACHINE_COUNT |
Ganzzahl; CONTROL_PLANE_MACHINE_COUNT muss eine ungerade Zahl sein.Standardmäßig 1 für dev und 3 für prod, wie von CLUSTER_PLAN festgelegt. |
Stellen Sie einen Arbeitslastcluster mit mehr Knoten der Steuerungsebene als im dev- oder prod-Standardplan bereit. |
WORKER_MACHINE_COUNT |
Stellen Sie einen Arbeitslastcluster mit mehr Worker-Knoten als im dev- oder prod-Standardplan bereit. |
|
STORAGE_CLASSES |
Mit der leeren Zeichenfolge ““ können Cluster eine beliebige Speicherklasse im Namespace verwenden. Stattdessen können Sie auch eine kommagetrennte Liste mit Werten aus kubectl get storageclasses angeben, z. B. “SC-1,SC-2,SC-3”. |
Für die Knotenanpassung verfügbare Speicherklassen. |
DEFAULT_STORAGE_CLASS |
Leere Zeichenfolge ”” für keinen Standardwert oder Wert aus der CLI, wie oben angegeben. |
Standardspeicherklasse für Steuerungsebene oder Worker. |
CONTROL_PLANE_STORAGE_CLASS |
Wert, der von kubectl get storageclasses zurückgegeben wird |
Standardspeicherklasse für Knoten der Steuerungsebene. |
WORKER_STORAGE_CLASS |
Standardspeicherklasse für Worker-Knoten. | |
NODE_POOL_0_NAME |
Zeichenfolge | Name, Bezeichnungen und Taints des Knotenpools. Ein TanzuKubernetesCluster kann nur einen Knotenpool haben. |
NODE_POOL_0_LABELS |
JSON-Zeichenfolgenliste, wie z. B. |
|
NODE_POOL_0_TAINTS |
JSON-Liste der Schlüssel-Wert-Paar-Zeichenfolgen, z. B. [{“key1”: “value1”}, {“key2”: “value2”}] |
|
Sie können die obigen Variablen festlegen, indem Sie einen der folgenden Schritte ausführen:
Schließen Sie sie in die Clusterkonfigurationsdatei ein, die an die Option --file der Tanzu CLI übergeben wurde. Beispiel:
CONTROL_PLANE_VM_CLASS: guaranteed-large
Legen Sie sie über die Befehlszeile als lokale Umgebungsvariablen fest, indem Sie export (unter Linux und macOS) oder SET (unter Windows) in der Befehlszeile ausführen. Beispiel:
export CONTROL_PLANE_VM_CLASS=guaranteed-large
HinweisWenn Sie eindeutige Proxy-Einstellungen für einen Arbeitslastcluster konfigurieren möchten, können Sie
TKG_HTTP_PROXY,TKG_HTTPS_PROXYundNO_PROXYals Umgebungsvariablen festlegen und dann den Cluster mithilfe der Tanzu CLI erstellen. Diese Variablen haben Vorrang vor Ihrer vorhandenen Proxy-Konfiguration in vSphere with Tanzu.
Fahren Sie mit dem Abschnitt Erstellen von Arbeitslastclustern fort. Nachdem Sie einen Arbeitslastcluster in vSphere bereitgestellt haben, müssen Sie die DHCP-Reservierungen des zugehörigen Knotens und Endpoint-DNS konfigurieren (siehe Beschreibung unter Konfigurieren von DHCP-Reservierungen für Knoten und DNS-Datensätzen für Endpoints (nur vSphere)).