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 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:
clusterEncryptionConfigYaml
controlPlaneVolumes
defaultRegistrySecret
defaultStorageClass
extensionCert
nodePoolLabels
nodePoolTaints
nodePoolVolumes
ntp
proxy
storageClass
storageClasses
TKR_DATA
trust
user
vmClass
Die 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, z. B. [“label1”, “label2”] |
|
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_PROXY
undNO_PROXY
als 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)).