In diesem Thema wird erläutert, wie Sie Arbeitslastcluster mit der Tanzu CLI erstellen.
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:
Klassenbasierte Cluster: Befolgen Sie die Schritte unter Erstellen eines klassenbasierten Clusters weiter unten, wenn Sie Ihren Arbeitslastcluster in folgenden Anwendungen bereitstellen:
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 vom Supervisor bereitgestellten, klassenbasierten Clusters beschrieben. Weitere Informationen zu Clusterkonfigurationsdateien und Objektspezifikationen finden Sie unter Konfigurationsdateien.
(Legacy) Planbasierte und TKC-Cluster: Befolgen Sie die Schritte unter (Legacy) Erstellen eines planbasierten oder TKC-Clusters unten.
Weitere Informationen zu diesen Clustertypen finden Sie unter Arbeitslastcluster-Typen in Informationen zu Tanzu Kubernetes Grid.
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.
WichtigVMware empfiehlt, eine dedizierte Konfigurationsdatei für jeden von Ihnen bereitgestellten Cluster zu verwenden und beizubehalten.
Suchen Sie die Konfigurationsdatei, die Sie im Rahmen der Voraussetzungen oben vorbereitet haben.
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:
–file von tanzu cluster create. Der Befehl wendet sie dann automatisch an.–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.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
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
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.
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
Untersuchen oder bearbeiten Sie die durch tanzu cluster create generierte Objektspezifikationsdatei.
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
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
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.
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
HinweisBeim 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 FehlerIt seems like you have done some customizations to the template overlays.ausgegeben.
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.
Im folgenden Verfahren wird erläutert, wie Sie einen planbasierten oder TKC-Cluster aus einer Konfigurationsdatei bereitstellen:
AWSCluster-, AzureCluster- oder VSphereCluster-Objekt in Kubernetes dargestellt.TanzuKubernetesCluster-Objekt in Kubernetes dargestellt.So erstellen Sie den Cluster:
Setzen Sie die Funktion allow-legacy-cluster in der Tanzu CLI auf true:
tanzu config set features.cluster.allow-legacy-cluster true
Erstellen Sie den Cluster.
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
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.
Erstellen oder kopieren Sie eine Konfigurationsdatei für den Arbeitslastcluster, wie unter Konfigurieren eines von Supervisor bereitgestellten TKC-Clusters (Legacy).
Nachdem Sie die Tanzu CLI mit dem Supervisor verbunden haben, rufen Sie den zielseitigen vSphere-Namespace ab:
tanzu namespaces get
Bestimmen Sie das versionierte Tanzu Kubernetes-Release (TKr) für den Cluster:
Rufen Sie die Liste der TKrs ab, die im Supervisor-Cluster verfügbar sind:
tanzu kubernetes-release get
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.
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.Nachdem der Cluster erstellt wurde, führen Sie tanzu cluster get aus, um den aktuellen Status des Clusters anzuzeigen:
tanzu cluster get CLUSTER-NAME
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)).
In den folgenden Verfahren wird erläutert, wie Sie einen klassenbasierten Arbeitslastcluster mithilfe einer Objektspezifikation im Kubernetes-Stil erstellen:
Führen Sie die folgenden Schritte aus, um eine Objektspezifikationsdatei im Kubernetes-Stil für einen klassenbasierten Arbeitslastcluster zu erstellen.
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.
Cluster-Objektspezifikation wie unter
Konfigurieren eines klassenbasierten Supervisor-Clusters beschrieben an.
Cluster-Objektspezifikationen, die als Ausgangspunkt verwendet werden können, z. B. v1beta1-Beispiel: Standardcluster.topology der Spezifikationsdatei fest.Cluster-Objekt selbst festgelegt werden können, z. B. einmalige Einstellungen für Containerschnittstellen in der Clusterinfrastruktur, finden Sie unter Konfigurieren von einmaligen Infrastruktureinstellungen.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
HinweisBeim 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 FehlerIt seems like you have done some customizations to the template overlays.ausgegeben.
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:
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.
(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
Erstellen Sie den Cluster für gemeinsam genutzte Dienste gemäß der obigen Beschreibung unter Erstellen eines Clusters aus einer Konfigurationsdatei.
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.
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.
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
Rufen Sie die admin-Anmeldedaten des Cluster für gemeinsam genutzte Dienste ab. Beispiel:
tanzu cluster kubeconfig get tkg-services --admin
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