Erstellen von Arbeitslastclustern

In diesem Thema wird erläutert, wie Sie Arbeitslastcluster mit der Tanzu CLI erstellen.

Voraussetzungen

(Empfohlen) Erstellen eines Clusters aus einer Konfigurationsdatei

In den folgenden Verfahren wird erläutert, wie Sie einen Arbeitslastcluster aus einer Clusterkonfigurationsdatei bereitstellen. Aus einer Clusterkonfigurationsdatei können Sie die folgenden Clustertypen erstellen:

Weitere Informationen zu diesen Clustertypen finden Sie unter Arbeitslastcluster-Typen in Informationen zu Tanzu Kubernetes Grid.

Erstellen eines klassenbasierten Clusters

Im folgenden Verfahren wird erläutert, wie Sie einen klassenbasierten Arbeitslastcluster aus einer Clusterkonfigurationsdatei bereitstellen. Der resultierende Cluster wird durch ein Cluster-Objekt in Kubernetes dargestellt.

Wichtig

VMware empfiehlt, eine dedizierte Konfigurationsdatei für jeden von Ihnen bereitgestellten Cluster zu verwenden und beizubehalten.

  1. Suchen Sie die Konfigurationsdatei, die Sie im Rahmen der Voraussetzungen oben vorbereitet haben.

  2. Erstellen Sie den Cluster. Sie können einen Cluster in einem oder zwei Schritten erstellen, je nachdem, ob Sie seine Objektspezifikation vor der Erstellung des Objekts untersuchen oder bearbeiten möchten:

    • (Empfohlen) Wenn Sie einen Cluster in einem Schritt erstellen, übergeben Sie Ihre Cluster-Konfigurationsdatei an die Option –file von tanzu cluster create. Der Befehl wendet sie dann automatisch an.
    • Wenn Sie einen Cluster in zwei Schritten erstellen, übergeben Sie Ihre Cluster-Konfigurationsdatei an die Option –file von tanzu cluster create. Anschließend konvertiert der Befehl die Datei in eine Cluster-Objektspezifikation und wird beendet, ohne den Cluster zu erstellen. Nach der Untersuchung oder Bearbeitung der Spezifikation erstellen Sie den Cluster, indem Sie tanzu cluster create erneut ausführen.

    Einstufiger Prozess (empfohlen)
    So führen Sie den einstufigen Prozess durch:
    1. Legen Sie auto-apply-generated-clusterclass-based-configuration auf true fest, sofern dies noch nicht geschehen ist. Dadurch wird die Tanzu CLI so konfiguriert, dass immer klassenbasierte Cluster mithilfe des einstufigen Prozesses erstellt werden. Weitere Informationen zu auto-apply-generated-clusterclass-based-configuration, finden Sie unter Funktionen in Tanzu CLI-Architektur und -Konfiguration.

      tanzu config set features.cluster.auto-apply-generated-clusterclass-based-configuration true
      
    2. Führen Sie tanzu cluster create aus und geben Sie den Pfad zur Clusterkonfigurationsdatei in der Option --file an. Wenn Sie beispielsweise die Konfigurationsdatei my-workload-cluster.yaml im Standardordner clusterconfigs gespeichert haben, führen Sie den folgenden Befehl aus, um einen Cluster mit einem Namen zu erstellen, den Sie in der Konfigurationsdatei angegeben haben:

      tanzu cluster create --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      

      Wenn Sie in der Cluster-Konfigurationsdatei keinen Namen angegeben haben oder einen Cluster mit einem anderen Namen als dem von Ihnen angegebenen erstellen möchten, geben Sie den Clusternamen im Befehl tanzu cluster create an. Um beispielsweise einen Cluster mit dem Namen another-workload-cluster aus der Konfigurationsdatei my-workload-cluster.yaml zu erstellen, führen Sie den folgenden Befehl aus:

      tanzu cluster create another-workload-cluster --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      
    Zweistufiger Prozess, immer
    So führen Sie den zweistufigen Prozess für jeden Cluster aus, den Sie erstellen:
    1. Legen Sie die Funktion auto-apply-generated-clusterclass-based-configuration auf false fest, sofern dies noch nicht geschehen ist. Dadurch wird die Tanzu CLI so konfiguriert, dass immer klassenbasierte Cluster mithilfe des zweistufigen Prozesses erstellt werden. false ist die Standardeinstellung. Wenn Sie die Standardkonfiguration geändert 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
      

      Weitere Informationen zu auto-apply-generated-clusterclass-based-configuration, finden Sie unter Funktionen in Tanzu CLI-Architektur und -Konfiguration.

    2. Um die Objektspezifikation zu generieren, führen Sie tanzu cluster create aus und geben Sie den Pfad zur Cluster-Konfigurationsdatei in der Option --file an. Der Befehl speichert die resultierende Objektspezifikation im Ordner ~/.config/tanzu/tkg/clusterconfigs, gibt den Speicherort aus und wird dann beendet.

      Wenn Sie beispielsweise die Cluster-Konfigurationsdatei my-workload-cluster.yaml im Standardordner clusterconfigs gespeichert haben, führen Sie den folgenden Befehl aus, um die Objektspezifikation zu generieren:

      tanzu cluster create --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      

      Wenn Sie in der Konfigurationsdatei keinen Namen für Ihren Cluster angegeben haben oder einen Cluster mit einem anderen Namen als dem von Ihnen angegebenen erstellen möchten, geben Sie den Clusternamen im Befehl tanzu cluster create an. Beispiel:

      tanzu cluster create another-workload-cluster --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      
    3. Untersuchen oder bearbeiten Sie die durch tanzu cluster create generierte Objektspezifikationsdatei.

    4. Führen Sie tanzu cluster create erneut aus und geben Sie den Pfad zu der Objektspezifikation in der Option --file an. Beispiel:

      tanzu cluster create --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster-spec.yaml
      

      Schließen Sie alle im ersten Schritt verwendeten Flags ein, einschließlich des Flags --tkr, wenn Sie einen Cluster erstellen, der eine andere Kubernetes-Version als der Verwaltungscluster ausführt. Beispiel:

      tanzu cluster create --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster-spec.yaml -v 6 --tkr v1.23.16---vmware.1-tkg.2
      
    Zweistufiger Prozess, einmal
    So führen Sie den zweistufigen Prozess für einen einzelnen Cluster aus:
    1. Um die Objektspezifikation zu generieren, führen Sie tanzu cluster create mit der Option --dry-run aus. Die Option --dry-run setzt die Einstellung auto-apply-generated-clusterclass-based-configuration außer Kraft.

      tanzu cluster create CLUSTER-NAME --dry-run --file PATH-TO-CLUSTER-CONFIG-FILE.yaml > PATH-TO-OBJECT-SPEC-FILE.yaml
      

      Dabei gilt:

      • CLUSTER-NAME ist der Name des Clusters. Sie können CLUSTER-NAME weglassen, wenn Sie den Namen in der Cluster-Konfigurationsdatei angegeben haben.
      • PATH-TO-CLUSTER-CONFIG-FILE ist der Pfad zur Cluster-Konfigurationsdatei, die Sie in Schritt 1 ermittelt haben.
      • PATH-TO-OBJECT-SPEC-FILE ist der Speicherort, in dem Sie die resultierende Objektspezifikationsdatei speichern möchten.

      Um beispielsweise die resultierende Objektspezifikation in einer Datei mit dem Namen my-workload-cluster-spec.yaml zu speichern, führen Sie folgenden Befehl aus:

      tanzu cluster create my-cluster --dry-run --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml > my-workload-cluster-spec.yaml
      
    2. Untersuchen oder bearbeiten Sie die Objektspezifikationsdatei, die von der Option --dry-run im vorherigen Schritt generiert wurde. Im obigen Beispiel lautet der Name der Spezifikationsdatei my-workload-cluster-spec.yaml.

    3. Nachdem Sie Ihre Objektspezifikationsdatei untersucht oder bearbeitet haben, führen Sie tanzu cluster create ohne die Option --dry-run erneut aus. Geben Sie in der Option --file den Pfad zur Objektspezifikationsdatei an. Beispiel:

      tanzu cluster create my-cluster --file my-workload-cluster-spec.yaml
      

      Schließen Sie alle im ersten Schritt verwendeten Flags ein, einschließlich des Flags --tkr, wenn Sie einen Cluster erstellen, der eine andere Kubernetes-Version als der Verwaltungscluster ausführt. Beispiel:

      tanzu cluster create --file my-workload-cluster-spec.yaml -v 6 --tkr v1.23.16---vmware.1-tkg.2
      
    Hinweis

    Beim Erstellen klassenbasierter Cluster verwendet die Tanzu CLI keine ytt-Anpassungen, die in Konfiguration von Legacy-Clustern mit ytt beschrieben sind. Wenn die CLI diese auf Ihrem Computer erkennt, wird ein Fehler It seems like you have done some customizations to the template overlays. ausgegeben.

  3. Nachdem der Cluster erstellt wurde, führen Sie den Befehl tanzu cluster get aus, um Informationen zum Cluster anzuzeigen:

    tanzu cluster get CLUSTER-NAME
    

    Die Ausgabe listet Informationen über den Status der Steuerungsebenen- und Worker-Knoten, die vom Cluster ausgeführte Kubernetes-Version und die Namen der Knoten auf.

(Legacy) Erstellen eines planbasierten oder TKC-Clusters

Im folgenden Verfahren wird erläutert, wie Sie einen planbasierten oder TKC-Cluster aus einer Konfigurationsdatei bereitstellen:

  • Planbasierte Cluster: Der resultierende Cluster wird je nach der Infrastrukturplattform, die Sie als Ziel verwenden, durch ein AWSCluster-, AzureCluster- oder VSphereCluster-Objekt in Kubernetes dargestellt.
  • TKC-Cluster: Der resultierende Cluster wird durch ein TanzuKubernetesCluster-Objekt in Kubernetes dargestellt.

So erstellen Sie den Cluster:

  1. Setzen Sie die Funktion allow-legacy-cluster in der Tanzu CLI auf true:

    tanzu config set features.cluster.allow-legacy-cluster true
    
  2. Erstellen Sie den Cluster.

    Planbasierter Cluster
    Wenn Sie einen planbasierten Cluster erstellen, führen Sie die folgenden Schritte aus:
    1. Suchen Sie die Konfigurationsdatei, die Sie im Rahmen der Voraussetzungen oben vorbereitet haben.
    2. Führen Sie den Befehl tanzu cluster create aus und geben Sie den Pfad zur Konfigurationsdatei in der Option --file an. Wenn Sie beispielsweise die Arbeitslastkonfigurationsdatei my-workload-cluster.yaml im Standardordner clusterconfigs gespeichert haben, führen Sie den folgenden Befehl aus, um einen Cluster mit einem Namen zu erstellen, den Sie in der Konfigurationsdatei angegeben haben:

      tanzu cluster create --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      

      Wenn Sie in der Konfigurationsdatei keinen Namen angegeben haben oder einen Cluster mit einem anderen Namen als dem von Ihnen angegebenen erstellen möchten, geben Sie den Clusternamen im Befehl tanzu cluster create an. Um beispielsweise einen Cluster mit dem Namen another-workload-cluster aus der Konfigurationsdatei my-workload-cluster.yaml zu erstellen, führen Sie den folgenden Befehl aus:

      tanzu cluster create another-workload-cluster --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      
    3. Nachdem der Cluster erstellt wurde, führen Sie den Befehl tanzu cluster get aus, um Informationen zum Cluster anzuzeigen:

      tanzu cluster get CLUSTER-NAME
      

      Die Ausgabe listet Informationen über den Status der Steuerungsebenen- und Worker-Knoten, die vom Cluster ausgeführte Kubernetes-Version und die Namen der Knoten auf.

    TKC-Cluster
    Wenn Sie einen TKC-Cluster erstellen, führen Sie die folgenden Schritte aus:
    1. Erstellen oder kopieren Sie eine Konfigurationsdatei für den Arbeitslastcluster, wie unter Konfigurieren eines von Supervisor bereitgestellten TKC-Clusters (Legacy).

    2. Nachdem Sie die Tanzu CLI mit dem Supervisor verbunden haben, rufen Sie den zielseitigen vSphere-Namespace ab:

      tanzu namespaces get
      
    3. Bestimmen Sie das versionierte Tanzu Kubernetes-Release (TKr) für den Cluster:

      1. Rufen Sie die Liste der TKrs ab, die im Supervisor-Cluster verfügbar sind:

        tanzu kubernetes-release get
        
      2. Notieren Sie sich in der Befehlsausgabe den gewünschten Wert, der unter NAME gelistet ist, zum Beispiel v1.22.5---vmware.1-tkg.1. Der tkr NAME ist identisch mit der VERSION, jedoch wurde + in --- geändert.

    4. Stellen Sie den Cluster bereit, indem Sie tanzu cluster create mit dem Wert TKR-NAME und folgendem Konfigurationsdateinamen ausführen:

      tanzu cluster create CLUSTER-NAME --file CONFIGURATION-FILE --tkr=TKR-NAME
      

      Dabei gilt:

      • CLUSTER-NAME ist ein beliebiger Name, den Sie für den Cluster angeben. Dieser Befehlszeilenwert überschreibt alle CLUSTER_NAME-Einstellungen in der Konfigurationsdatei.
      • CONFIGURATION-FILEist der lokale Pfad zur Clusterkonfigurationsdatei, zum Beispiel ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml.
      • TKR-NAME ist der Name des oben abgerufenen TKr.
    5. Nachdem der Cluster erstellt wurde, führen Sie tanzu cluster get aus, um den aktuellen Status des Clusters anzuzeigen:

      tanzu cluster get CLUSTER-NAME
      
    6. Konfigurieren Sie die IP-Adressen der zugehörigen Steuerungsebenenknoten und des zugehörigen Endpoints als statisch (siehe Beschreibung unter Konfigurieren von DHCP-Reservierungen für Knoten und DNS-Datensätzen für Endpoints (nur vSphere)).

Erstellen eines Clusters über eine Objektspezifikation

In den folgenden Verfahren wird erläutert, wie Sie einen klassenbasierten Arbeitslastcluster mithilfe einer Objektspezifikation im Kubernetes-Stil erstellen:

  1. Erstellen Sie eine Clusterobjektspezifikation wie unter Erstellen einer Objektspezifikation unten beschrieben.
  2. Stellen Sie den Cluster über die Objektspezifikation bereit, wie unter Erstellen eines klassenbasierten Clusters anhand der Objektspezifikation unten beschrieben.

Erstellen einer Objektspezifikation

Führen Sie die folgenden Schritte aus, um eine Objektspezifikationsdatei im Kubernetes-Stil für einen klassenbasierten Arbeitslastcluster zu erstellen.

Eigenständiger Verwaltungscluster
Wenn Sie den Arbeitslastcluster für vSphere mit einem eigenständigen Verwaltungscluster, AWS oder Azure bereitstellen, können Sie die Tanzu CLI verwenden, um eine Clusterkonfigurationsdatei in eine Objektspezifikationsdatei im Kubernetes-Stil für einen klassenbasierten Arbeitslastcluster zu konvertieren, ohne den Cluster bereitzustellen. Sie können dann die Spezifikation als Beispiel verwenden, um Ihre eigenen Spezifikationen zu erstellen. Um die Spezifikationsdatei zu erstellen, haben Sie folgende Möglichkeiten:
  • Wenn Sie die Standardkonfiguration der Funktion auto-apply-generated-clusterclass-based-configuration aktualisiert haben, setzen Sie sie auf false zurück und führen dann tanzu cluster create mit dem Flag --file aus. So setzen Sie auto-apply-generated-clusterclass-based-configuration auf false:

    tanzu config set features.cluster.auto-apply-generated-clusterclass-based-configuration false
    

    Wenn diese Funktion auf false festgelegt ist und Sie tanzu cluster create mit dem Flag --file erstellen, 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 erneut mit der Objektspezifikationsdatei aus, die von der Tanzu CLI generiert wurde.

  • Um die Spezifikationsdatei für einen einzelnen Cluster zu erstellen, ü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
    

    Die Option --dry-run setzt die Einstellung auto-apply-generated-clusterclass-based-configuration außer Kraft.

Ein Beispiel für eine Objektspezifikationsdatei finden Sie unter Beispiel für Cluster-Objekt und zugehörige untergeordnete Objekte.

Supervisor
Wenn Sie den Arbeitslastcluster auf vSphere 8 mit Supervisor bereitstellen, erstellen oder passen Sie eine Cluster-Objektspezifikation wie unter Konfigurieren eines klassenbasierten Supervisor-Clusters beschrieben an.
  • 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.
  • Legen Sie VM-Typen, Skalierung und andere grundlegende Clusterkonfigurationen im Block topology der Spezifikationsdatei fest.
  • 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.


Erstellen eines klassenbasierten Clusters anhand der Objektspezifikation

Um einen klassenbasierten Arbeitslastcluster aus einer Objektspezifikation bereitzustellen, übergeben Sie die Objektspezifikation an die Option --file von tanzu cluster create. Beispiel:

tanzu cluster create my-cluster --file my-cluster-spec.yaml
Hinweis

Beim Erstellen klassenbasierter Cluster verwendet die Tanzu CLI keine ytt-Anpassungen, die in Konfiguration von Legacy-Clustern mit ytt beschrieben sind. Wenn die CLI diese auf Ihrem Computer erkennt, wird ein Fehler It seems like you have done some customizations to the template overlays. ausgegeben.

Erstellen eines Clusters für gemeinsam genutzte Dienste

In Arbeitslastclustern, die von einem Verwaltungscluster verwaltet werden, der mit tanzu management-cluster create oder tanzu mc create anstelle eines vSphere with Tanzu-Supervisor-Clusters erstellt wurde, können durch die Bereitstellung von Harbor oder anderen Diensten alle Arbeitslasten eine einzelne Dienstinstanz gemeinsam nutzen.

Jede Tanzu Kubernetes Grid-Instanz kann über lediglich einen Cluster mit gemeinsam genutzten Diensten verfügen.

Durch die Bereitstellung von Harbor in einem Cluster mit gemeinsam genutzten Diensten können alle Arbeitslastcluster, die vom selben Verwaltungscluster verwaltet werden, eine einzelne Harbor-Instanz gemeinsam nutzen. Anweisungen zum Bereitstellen von Harbor finden Sie unter Installieren von Harbor für die Dienstregistrierung.

So erstellen Sie einen Cluster mit gemeinsam genutzten Diensten:

  1. Erstellen Sie eine YAML-Datei der Clusterkonfiguration für den Cluster. Es wird empfohlen, den prod-Cluster-Plan anstelle des dev-Plans zu verwenden. Beispiel:

    INFRASTRUCTURE_PROVIDER: vsphere
    CLUSTER_NAME: YOUR-CLUSTER-NAME
    CLUSTER_PLAN: prod
    

    Wobei YOUR-CLUSTER-NAME den für den Cluster ausgewählten Namen darstellt. Beispiel: tkg-services.

  2. (Nur vSphere) Wenn Sie den Kube-Vip-Standardlastausgleichsdienst für die Steuerungsebenen-API des Clusters verwenden, müssen Sie den zugehörigen Endpoint angeben, indem Sie VSPHERE_CONTROL_PLANE_ENDPOINT festlegen. Stellen Sie sicher, dass sich diese VIP-Adresse nicht im DHCP-Bereich, sondern im selben Subnetz wie der DHCP-Bereich befindet. Wenn Sie der VIP-Adresse einen vollqualifizierten Domänennamen (FQDN) zugeordnet haben, können Sie anstelle der VIP-Adresse den FQDN angeben.
    Wenn Sie NSX Advanced Load Balancer (ALB) verwenden, legen Sie keinen VSPHERE_CONTROL_PLANE_ENDPOINT fest, es sei denn, der Steuerungsebenen-Endpoint muss eine bestimmte Adresse sein. Ist dies jedoch der Fall, verwenden Sie eine statische Adresse innerhalb des VIP-Netzwerkbereichs des NSX ALB-IPAM-Profils, den Sie manuell zum statischen IP-Pool hinzugefügt haben, oder einen FQDN, der der statischen Adresse zugeordnet ist.

    Beispiel:

    VSPHERE_CONTROL_PLANE_ENDPOINT: 10.10.10.10
    
  3. Erstellen Sie den Cluster für gemeinsam genutzte Dienste gemäß der obigen Beschreibung unter Erstellen eines Clusters aus einer Konfigurationsdatei.

  4. Legen Sie den Kontext von kubectl auf den Kontext Ihres Verwaltungsclusters fest. Beispiel:

    kubectl config use-context mgmt-cluster-admin@mgmt-cluster
    

    In diesem Beispiel ist mgmt-cluster der Name des Verwaltungsclusters.

  5. Fügen Sie dem Cluster für gemeinsam genutzte Dienste die Bezeichnung tanzu-services als entsprechende Clusterrolle hinzu. Diese Bezeichnung gibt den Cluster für gemeinsam genutzte Dienste beim Verwaltungscluster und den Arbeitslastclustern an. Beispiel:

    kubectl label cluster.cluster.x-k8s.io/tkg-services cluster-role.tkg.tanzu.vmware.com/tanzu-services="" --overwrite=true
    

    In diesem Beispiel ist tkg-services der Name des Clusters für gemeinsam genutzte Dienste. Die Bestätigung cluster.cluster.x-k8s.io/tkg-services labeled sollte angezeigt werden.

  6. Stellen Sie sicher, dass die Bezeichnung korrekt angewendet wurde, indem Sie folgenden Befehl ausführen:

    tanzu cluster list --include-management-cluster
    

    Dem Cluster für gemeinsam genutzte Dienste sollte die Rolle tanzu-services zugewiesen worden sein. Beispiel:

    NAME              NAMESPACE   STATUS   CONTROLPLANE  WORKERS  KUBERNETES        ROLES           PLAN   TKR
    another-cluster   default     running  1/1           1/1      v1.25.7+vmware.1  <none>          dev    v1.25.7---vmware.1-tkg
    tkg-services      default     running  3/3           3/3      v1.25.7+vmware.1  tanzu-services  prod   v1.25.7---vmware.1-tkg
    mgmt-cluster      tkg-system  running  1/1           1/1      v1.25.7+vmware.1  management      dev    v1.25.7---vmware.1-tkg
    
  7. Rufen Sie die admin-Anmeldedaten des Cluster für gemeinsam genutzte Dienste ab. Beispiel:

    tanzu cluster kubeconfig get tkg-services --admin
    
  8. Legen Sie den Kontext von kubectl auf den Cluster für gemeinsam genutzte Dienste fest. Beispiel:

    kubectl config use-context tkg-services-admin@tkg-services
    

Nächste Schritte

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