Konfigurationsdateien und Objektspezifikationen

In diesem Thema wird erläutert, wie Sie Tanzu Kubernetes Grid (TKG)-Arbeitslastcluster mithilfe einer flachen Konfigurationsdatei oder einer Objektspezifikation im Kubernetes-Stil konfigurieren. Spezifische Anweisungen für IaaS finden Sie unter:

Clustertypen

Wie Sie einen Arbeitslastcluster konfigurieren, hängt vom Clustertyp ab, wie in den folgenden Abschnitten beschrieben.

  • Klassenbasierte Cluster (des Standardtyps) verwenden eine Objektspezifikation im Kubernetes-Stil für das Cluster-Objekt. Um einen klassenbasierten Cluster zu erstellen, übergeben Sie entweder diese Objektspezifikation oder eine Clusterkonfigurationsdatei mit einer flachen Struktur, die Variablen in Großbuchstaben und mit Unterstrichen wie CLUSTER_NAME festlegt, an tanzu cluster create.

    • Für erweiterte Anpassungen ist möglicherweise auch eine Spezifikation für ClusterBootstrap und Objekte, auf die sie verweist, erforderlich.
  • (Legacy-Typen) Planbasierte und TKC-Cluster verwenden eine Clusterkonfigurationsdatei mit flacher Struktur, die Variablen in Großbuchstaben und mit Unterstrichen wie CLUSTER_NAME festlegt. Um einen Legacy-Cluster zu erstellen, übergeben Sie diese Konfigurationsdatei an tanzu cluster create.

    • Für erweiterte Anpassungen sind möglicherweise ytt-Overlays erforderlich, um Arbeitslastcluster oder Clusterpläne anzupassen. Informationen zum Herunterladen und Installieren von ytt finden Sie unter Installieren der Carvel-Tools.

Weitere Informationen zu den oben genannten Clustertypen und den verwendeten Cluster-API-Anbietern finden Sie unter:

Informationen dazu, welche Konfigurationsdatei Sie für Ihren Arbeitslastcluster auswählen sollten, finden Sie in der folgenden Tabelle.

Konfigurationsdateien

Sie können eine … mit Tanzu CLI verwenden um Arbeitslastcluster von folgendem Typ zu erstellen… in der Infrastruktur…
Clusterkonfigurationsdatei mit flacher Struktur
  • Klassenbasierte Cluster
  • Planbasierte Cluster
  • TKC-Cluster
  • Klassenbasierte Cluster auf vSphere 6.7, 7 und 8 mit einem eigenständigen Verwaltungscluster; AWS; und Azure
  • Planbasierte Cluster auf vSphere 6.7, 7 und 8 mit einem eigenständigen Verwaltungscluster; AWS; und Azure
  • TKC-Cluster auf vSphere 8 mit Supervisor
Objektspezifikation im Kubernetes-Stil Klassenbasierte Cluster vSphere 8 mit Supervisor; vSphere 6.7, 7 und 8 mit einem eigenständigen Verwaltungscluster; AWS; und Azure

Konfigurieren eines Arbeitslastclusters mit einer Clusterkonfigurationsdatei

Sie können eine Clusterkonfigurationsdatei verwenden, um die folgenden Clustertypen zu konfigurieren:

  • Klassenbasierte Cluster: Dazu gehören Bereitstellungen für:

    • vSphere 6.7, 7 und 8 mit einem eigenständigen Verwaltungscluster
    • AWS
    • Azure

    Wenn Sie eine klassenbasierte Arbeitslast in vSphere 8 mit Supervisor bereitstellen möchten, müssen Sie sie über eine Objektspezifikation bereitstellen, wie unter Konfigurieren eines mit Supervisor bereitgestellten klassenbasierten Clusters (nur vSphere 8) beschrieben.

  • (Legacy) Planbasierte und TKC-Cluster: Dazu gehören Bereitstellungen für:

    • Für planbasierte Cluster: vSphere 6.7, 7 und 8 mit einem eigenständigen Verwaltungscluster, AWS und Azure
    • Für TKC-Cluster: vSphere 8 mit Supervisor

Informationen zur Clusterkonfigurationsdatei

Bevor Sie einen Arbeitslastcluster in vSphere, AWS oder Azure bereitstellen, erstellen Sie eine Konfigurationsdatei für den Cluster. Wenn Sie diese Datei an die Option --file von tanzu cluster create übergeben, verwendet die Tanzu CLI die in der Datei definierten Konfigurationsinformationen, um eine Verbindung zur Zielplattform herzustellen und die vom Cluster verwendeten Ressourcen zu erstellen.

Um eine Clusterkonfigurationsdatei zu erstellen, können Sie eine vorhandene Konfigurationsdatei für eine vorherige Bereitstellung kopieren und aktualisieren. Alternativ können Sie eine Datei mithilfe einer leeren Vorlage von Grund auf neu erstellen:

Erstellen der ersten Clusterkonfigurationsdatei

Wenn Sie einen Arbeitslastcluster bereitstellen, stimmt die Konfiguration für den Cluster größtenteils mit der Konfiguration des eigenständigen Verwaltungsclusters überein, den Sie zum Bereitstellen des Clusters verwenden. Aus diesem Grund besteht die einfachste Möglichkeit, eine Konfigurationsdatei für einen Arbeitslastcluster zu erstellen, darin, mit einer Kopie der Konfigurationsdatei des eigenständigen Verwaltungsclusters zu beginnen.

  1. Suchen Sie die YAML-Konfigurationsdatei für den Verwaltungscluster:

    • Wenn Sie den Verwaltungscluster über die Installationsprogramm-Schnittstelle bereitgestellt haben und die Option --file beim Ausführen von tanzu mc create --ui nicht angegeben haben, wird die Konfigurationsdatei in ~/.config/tanzu/tkg/clusterconfigs/ gespeichert. Die Datei hat einen zufällig generierten Namen, z. B. bm8xk9bv1v.yaml.
    • Wenn Sie den Verwaltungscluster über die Installationsprogramm-Schnittstelle bereitgestellt haben und die Option --file angegeben haben, wird die Konfiguration des Verwaltungsclusters aus der von Ihnen angegebenen Datei übernommen.
    • Wenn Sie den Verwaltungscluster über die Tanzu CLI ohne Verwendung der Installationsprogramm-Schnittstelle bereitgestellt haben, wird die Konfiguration des Verwaltungsclusters entweder aus einer Datei, die Sie in der Option --file angegeben haben, oder vom Standardspeicherort ~/.config/tanzu/tkg/cluster-config.yaml übernommen.
  2. Erstellen Sie eine Kopie der Konfigurationsdatei des Verwaltungsclusters und speichern Sie sie unter einem neuen Namen. Speichern Sie die Datei beispielsweise unter my-aws-cluster.yaml, my-azure-cluster.yaml oder my-vsphere-cluster.yaml.

  3. Aktualisieren Sie die Einstellungen in der Clusterkonfigurationsdatei. Wenn Sie einen Arbeitslastcluster für die Verwendung eines anderen Betriebssystems als dem Standard-Ubuntu 20.04 konfigurieren möchten, müssen Sie die Werte OS_NAME- und OS_VERSION festlegen. Die Installationsprogramm-Schnittstelle enthält keine Werte für das Betriebssystem der Knoten-VM in den Konfigurationsdateien des Verwaltungsclusters, die in ~/.config/tanzu/tkg/clusterconfigs gespeichert werden.

  4. Speichern Sie die Datei.

Informationen zur Vorbereitung einer Clusterkonfigurationsdatei für einen TKC-Cluster auf vSphere 8 mit Supervisor finden Sie unter Konfigurieren eines von Supervisor bereitgestellten TKC-Clusters (Legacy).

Konfigurieren eines Arbeitslastclusters mit einer Objektspezifikation

Sie können eine Objektspezifikationsdatei im Kubernetes-Stil verwenden, um einen klassenbasierten Arbeitslastcluster in folgenden Umgebungen bereitzustellen:

  • vSphere 6.7, 7 und 8 ohne Supervisor
  • vSphere 8 mit Supervisor
  • AWS
  • Azure

Informationen zur Objektspezifikationsdatei

Eine Objektspezifikationsdatei dient demselben Zweck wie eine Clusterkonfigurationsdatei. Wenn Sie eine Objektspezifikation an die Option --file von tanzu cluster create übergeben, erstellt die Tanzu CLI den Cluster mithilfe der in der Objektspezifikation definierten Konfigurationsinformationen.

Erstellen der ersten Objektspezifikationsdatei

Wie bei anderen Kubernetes-Objekten können Sie einen klassenbasierten Arbeitslastcluster konfigurieren, indem Sie Objektspezifikationen erstellen und bearbeiten. Für Clusterobjekte sind dies:

  • Cluster-Objekt: Konfiguriert die meisten Clusteroptionen, z. B. die Clustertopologie. Sie können diese Objektspezifikation ändern und erneut anwenden, um die Konfiguration eines laufenden Clusters zu ändern.
  • (Optional; vSphere with Tanzu) ClusterBootstrap-Objekt: Konfiguriert nicht standardmäßige Optionen, die nur angewendet werden, wenn der Cluster zum ersten Mal erstellt wird, z. B. die Container-Netzwerkschnittstelle (Container Network Interface, CNI) und die Container-Speicherschnittstelle (Container Storage Interface, CSI), die in einem laufenden Cluster nicht neu konfiguriert werden können. Weitere Informationen finden Sie unter Konfigurieren von einmaligen Infrastruktureinstellungen.

So erstellen Sie Ihre erste Objektspezifikationsdatei:

  • Wenn Sie einen klassenbasierten Arbeitslastcluster für vSphere ohne Supervisor, AWS oder Azure bereitstellen, können Sie die Tanzu CLI verwenden, um eine Clusterkonfigurationsdatei in eine Objektspezifikationsdatei zu konvertieren, ohne den Cluster bereitzustellen:

    • (Globale Konfiguration) Verwenden Sie die Funktion auto-apply-generated-clusterclass-based-configuration der Tanzu CLI. Diese Funktion ist standardmäßig auf false gesetzt. Wenn auto-apply-generated-clusterclass-based-configuration auf false festgelegt ist und Sie tanzu cluster create mit dem Flag --file ausführen, konvertiert der Befehl Ihre Clusterkonfigurationsdatei in eine Objektspezifikationsdatei und wird beendet, ohne dass der Cluster erstellt wird. Nach der Überprüfung der Konfiguration führen Sie tanzu cluster create mit der von der Tanzu CLI generierten Objektspezifikationsdatei wie unter Erstellen eines klassenbasierten Clusters anhand der Objektspezifikation beschrieben erneut aus. Wenn Sie die Standardkonfiguration aktualisiert haben, führen Sie folgenden Befehl aus, um sie auf false zurückzusetzen:

      tanzu config set features.cluster.auto-apply-generated-clusterclass-based-configuration false
      
    • (Einzelner Cluster) Übergeben Sie die Option --dry-run an tanzu cluster create und speichern Sie die Ausgabe in einer Datei. Verwenden Sie dieselben Optionen und die gleiche Konfiguration --file, die Sie bei Erstellung des Clusters verwenden würden, z. B.:

      tanzu cluster create my-cluster --file my-cluster-config.yaml --dry-run > my-cluster-spec.yaml
      

      Sie können diese Objektspezifikation dann verwenden, um einen Cluster wie unter Erstellen eines klassenbasierten Clusters anhand der Objektspezifikation unten beschrieben bereitzustellen.

  • Wenn Sie einen klassenbasierten Arbeitslastcluster in vSphere 8 mit Supervisor bereitstellen, erstellen oder adaptieren Sie eine Cluster-Objektspezifikation, wie unter Konfigurieren eines vom Supervisor bereitgestellten klassenbasierten Supervisor-Clusters (nur vSphere 8) beschrieben. Die Dokumentation zu vSphere 8 enthält ein Beispiel für Cluster-Objektspezifikationen, die als Ausgangspunkt verwendet werden können, z. B. v1beta1-Beispiel: Standardcluster.

Konfigurieren von einmaligen Infrastruktureinstellungen (vSphere with Tanzu)

Sie können die gängigsten Clustereinstellungen in der Cluster-Objektspezifikation konfigurieren. Einige Clusterkomponenten stammen jedoch aus dem Tanzu Kubernetes-Release (TKr), auf dem die Knoten des Clusters basieren. Das TKr gibt beispielsweise die von einem Cluster verwendeten CNI-, CSI- und Pinniped-Versionen an.

Diese Optionen auf Infrastrukturebene werden zum Zeitpunkt der Clustererstellung vom ClusterBootstrap-Objekt angewendet und können in einem laufenden Cluster nicht geändert werden. Die allgemeine Vorgehensweise zum Konfigurieren dieser Optionen vor dem Erstellen eines Clusters lautet:

  1. Erstellen Sie Objektspezifikationen für das ClusterBootstrap-Objekt und alle benutzerdefinierten Objekte, auf die es verweist, z. B. ein CalicoConfig-Objekt.

  2. Erstellen Sie eine Objektspezifikation für das Cluster-Objekt selbst.

  3. Geben Sie in den metadata für alle Objektspezifikationen den Namen und den Namespace für den Cluster ein, den Sie erstellen, z. B.:

    apiVersion: run.tanzu.vmware.com/v1alpha3
    kind: ClusterBootstrap
    metadata:
      name: MY-CLUSTER
      namespace: MY-NAMESPACE
    

    Für die Anpassung sind möglicherweise zusätzliche Metadaten erforderlich, wie z. B. Anmerkungen.

  4. Verketten Sie alle Objektspezifikationen, einschließlich der Cluster-Definition, in einer einzigen Datei. Trennen Sie die Spezifikationen durch Zeilen, die aus drei Bindestrichen (---) bestehen.

  5. Übergeben Sie die Objektspezifikation an die Option --file von kubectl apply z. B.:

    kubectl config use-context CONTEXT-NAME
    
    kubectl apply -f my-custom-cluster-objects.yaml
    

Alternative Methode: Alternativ zu den letzten beiden Schritten können Sie kubectl apply -f für alle Objektspezifikationen mit Ausnahme des Cluster-Objekts ausführen und dann tanzu cluster create --file mit der Cluster-Objektspezifikation ausführen.

Ein konkretes Beispiel für diesen Vorgang finden Sie unter Cluster mit einer nicht standardmäßigen CNI erstellen, in dem die CNI eines Clusters auf Calico festgelegt wird.

Arbeitslastcluster, kubectl und kubeconfig

Tanzu Kubernetes Grid legt den kubectl-Kontext nicht automatisch auf einen Arbeitslastcluster fest, wenn Sie ihn erstellen. Sie müssen den kubectl-Kontext manuell auf einen Arbeitslastcluster festlegen, indem Sie den Befehl kubectl config use-context verwenden.

Wenn Sie die Option KUBECONFIG zum Speichern der kubeconfig für einen Cluster in einer bestimmten Datei nicht angeben, werden alle von Ihnen bereitgestellten Arbeitslastcluster standardmäßig einer gemeinsam genutzten Datei .kube/config hinzugefügt. Wenn Sie die gemeinsam genutzte Datei .kube/config löschen und weiterhin über die Datei .kube-tkg/config für den Verwaltungscluster verfügen, können Sie die .kube/config der Arbeitslastcluster mit dem Befehl tanzu cluster kubeconfig get CLUSTER-NAME wiederherstellen.

Ändern Sie den Kontext nicht und bearbeiten Sie die Datei .kube-tkg/config oder .kube/config nicht, während Tanzu Kubernetes Grid-Vorgänge ausgeführt werden.

Nächste Schritte

Fahren Sie mit dem Thema Clusterkonfiguration für Ihre Infrastruktur fort:

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