vSphere mit Konfigurationsdateien für Supervisor-Cluster

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.

Überblick

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.

Konfigurieren eines auf Supervisor bereitgestellten klassenbasierten Clusters

So konfigurieren Sie einen Arbeitslastcluster für die Bereitstellung auf vSphere 8 mit Tanzu:

  1. 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.

  2. (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.

Klassenbasiertes Clusterobjekt und Topologiestruktur

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.

  • Optionale Felder: Für jedes Feld gibt die Einstellung json: an, ob das Feld optional ist. Optionale Felder haben die Einstellung omitempty.
  • Strukturen, die durch Referenz in der Typspezifikation verschachtelt sind, sind in der Objektspezifikations-YAML eingerückt. Beispielsweise enthält die Struktur 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.

ClusterClass-Topologievariablen

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:

Konfigurieren eines mit Supervisor bereitgestellten TKC-Clusters (Legacy)

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. [“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
    
    Hinweis

    Wenn Sie eindeutige Proxy-Einstellungen für einen Arbeitslastcluster konfigurieren möchten, können Sie TKG_HTTP_PROXY, TKG_HTTPS_PROXY und NO_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.

Nächste Schritte

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)).

check-circle-line exclamation-circle-line close-line
Scroll to top icon