Nachdem Sie Arbeitslastcluster bereitgestellt haben, verwenden Sie die Befehle tanzu cluster list
und tanzu cluster kubeconfig get
, um die Liste der ausgeführten Cluster und deren Anmeldedaten abzurufen. Anschließend können Sie mithilfe von kubectl
eine Verbindung zu den Clustern herstellen und mit Ihren Clustern arbeiten.
Verwenden Sie zum Auflisten Ihrer Arbeitslastcluster und des Verwaltungsclusters, der sie verwaltet, den Befehl tanzu cluster list
.
Um alle Arbeitslastcluster aufzulisten, die im Namespace default
des Verwaltungsclusters ausgeführt werden, führen Sie den Befehl tanzu cluster list
aus:
tanzu cluster list
Die Ausgabe listet alle Arbeitslastcluster im Standard-Namespace, einschließlich der Clusternamen, ihres aktuellen Status, der Anzahl der tatsächlichen und angeforderten Steuerungsebenen- und Worker-Knoten und der Kubernetes-Version, in der der Cluster ausgeführt wird, auf.
Cluster können sich in den folgenden Zuständen befinden:
creating
: Die Steuerungsebene wird gerade erstellt.createStalled
: Der Prozess zum Erstellen der Steuerungsebenen hat angehalten.deleting
: Der Cluster wird gerade gelöscht.failed
: Das Erstellen der Steuerungsebene ist fehlgeschlagen.running
: Die Steuerungsebene wurde vollständig initialisiert.updating
: Der Cluster ist dabei, ein Update auszuführen oder Knoten zu skalieren.updateFailed
: Der Cluster-Updatevorgang ist fehlgeschlagen.updateStalled
: Der Cluster-Updatevorgang hat angehalten.Wenn sich ein Cluster im Zustand „Angehalten“ befindet, stellen Sie sicher, dass Netzwerkkonnektivität mit der externen Registrierung besteht, stellen Sie sicher, dass auf der Zielplattform ausreichend Ressourcen vorhanden sind, damit der Vorgang abgeschlossen werden kann, und stellen Sie sicher, dass DHCP die IPv4-Adressen ordnungsgemäß ausgibt.
Um Cluster in allen Namespaces aufzulisten, auf die Sie Zugriff haben, geben Sie die Option -A
oder --all-namespaces
an.
tanzu cluster list --all-namespaces
Um nur die Cluster auflisten zu können, die in einem bestimmten Namespace ausgeführt werden, geben Sie die Option --namespace
an.
tanzu cluster list --namespace=NAMESPACE
Dabei ist NAMESPACE
der Namespace, in dem die Cluster ausgeführt werden.
Auf vSphere with Tanzu müssen DevOps-Ingenieure bei der Ausführung von tanzu cluster list
einen Wert --namespace
angeben, um einen Namespace anzugeben, auf den sie zugreifen können. Weitere Informationen finden Sie unter Benutzerrollen und Workflows von vSphere with Tanzu in der Dokumentation zu VMware vSphere.
Wenn Sie bei einem eigenständigen Verwaltungscluster angemeldet sind, geben Sie die Optionen --include-management-cluster -A
an, um den aktuellen eigenständigen Verwaltungscluster in die Ausgabe von tanzu cluster list
aufzunehmen.
tanzu cluster list --include-management-cluster -A
Sie können sehen, dass der Verwaltungscluster im Namespace tkg-system
ausgeführt wird und über die Rolle management
verfügt.
NAME NAMESPACE STATUS CONTROLPLANE WORKERS KUBERNETES ROLES PLAN TKR
workload-cluster-1 default running 1/1 1/1 v1.25.7+vmware.1 <none> dev v1.25.7---vmware.1-tkg.1
workload-cluster-2 default running 1/1 1/1 v1.25.7+vmware.1 <none> dev v1.25.7---vmware.1-tkg.1
mgmt-cluster tkg-system running 1/1 1/1 v1.25.7+vmware.1 management dev v1.25.7---vmware.1-tkg.1
Um alle Verwaltungscluster anzuzeigen und den Kontext der Tanzu CLI in einen anderen Verwaltungscluster zu ändern, führen Sie den Befehl tanzu login
aus. Weitere Informationen finden Sie unter Auflisten von Verwaltungsclustern und Ändern des Kontexts.
Sie können die Details der Cluster, auf die Sie Zugriff haben, im JSON- oder YAML-Format exportieren. Sie können die Daten in JSON- oder YAML-Format in einer Datei speichern, sodass Sie sie in Skripts zum Ausführen von Massenvorgängen auf Clustern verwenden können.
Um Clusterdetails als JSON zu exportieren, führen Sie tanzu cluster list
mit der Option --output
aus und geben Sie json
an:
tanzu cluster list --output json > clusters.json
Die Ausgabe zeigt die Clusterinformationen als JSON an:
[
{
"name": "workload-cluster-1",
"namespace": "default",
"status": "running",
"plan": "dev",
"controlplane": "1/1",
"workers": "1/1",
"kubernetes": "v1.25.7+vmware.1",
"roles": [],
"tkr": "v1.25.7---vmware.1-tkg.1",
"labels": {
"cluster.x-k8s.io/cluster-name": "workload-cluster-1",
"run.tanzu.vmware.com/tkr": "v1.25.7---vmware.1-tkg.1",
"tkg.tanzu.vmware.com/cluster-name": "workload-cluster-1",
"topology.cluster.x-k8s.io/owned": ""
}
},
{
"name": "workload-cluster-2",
"namespace": "default",
"status": "running",
"plan": "dev",
"controlplane": "1/1",
"workers": "1/1",
"kubernetes": "v1.25.7+vmware.1",
"roles": [],
"tkr": "v1.25.7---vmware.1-tkg.1",
"labels": {
"tanzuKubernetesRelease": "v1.25.7---vmware.1-tkg.1",
"tkg.tanzu.vmware.com/cluster-name": "workload-cluster-2"
}
}
]
Um Clusterdetails als YAML zu exportieren, führen Sie tanzu cluster list
mit der Option --output
aus und geben Sie yaml
an:
tanzu cluster list --output yaml > clusters.yaml
Die Ausgabe zeigt die Clusterinformationen als YAML an:
- name: workload-cluster-1
namespace: default
status: running
plan: dev
controlplane: 1/1
workers: 1/1
kubernetes: v1.25.7+vmware.1
roles: []
tkr: v1.25.7---vmware.1-tkg.1
labels:
cluster.x-k8s.io/cluster-name: workload-cluster-1
run.tanzu.vmware.com/tkr: v1.25.7---vmware.1-tkg.1
tkg.tanzu.vmware.com/cluster-name: workload-cluster-1
topology.cluster.x-k8s.io/owned: ""
- name: workload-cluster-1
namespace: default
status: running
plan: dev
controlplane: 1/1
workers: 1/1
kubernetes: v1.25.7+vmware.1
roles: []
tkr: v1.25.7---vmware.1-tkg.1
labels:
tanzuKubernetesRelease: v1.25.7---vmware.1-tkg.1
tkg.tanzu.vmware.com/cluster-name: workload-cluster-1
Informationen zum Speichern der Details mehrerer Verwaltungscluster, einschließlich des Kontexts und der kubeconfig
-Dateien, finden Sie unter Verwaltung Ihrer Verwaltungscluster.
kubeconfig
für ArbeitslastclusterNachdem Sie einen Arbeitslastcluster erstellt haben, können Sie seinen Kontext und kubeconfig
-Einstellungen abrufen, indem Sie den Befehl tanzu cluster kubeconfig get
ausführen und dabei den Namen des Clusters angeben. Standardmäßig fügt der Befehl die kubeconfig
-Einstellungen des Clusters zu Ihrer aktuellen kubeconfig
-Datei hinzu.
tanzu cluster kubeconfig get my-cluster
WichtigWenn die Identitätsverwaltung nicht auf dem Cluster konfiguriert ist, müssen Sie die Option
--admin
angeben.
Um kubeconfig
in eine Datei zu exportieren, geben Sie die Option --export-file
an.
tanzu cluster kubeconfig get my-cluster --export-file my-cluster-kubeconfig
WichtigWenn Sie Die Datei
kubeconfig
löschen, können Sie nicht auf alle Cluster zugreifen, die Sie über die Tanzu CLI bereitgestellt haben.
Wenn die Identitätsverwaltung und die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) auf dem Cluster konfiguriert sind, müssen Sich Benutzer mit standardmäßigem Zugriff auf kubeconfig
ohne Admin-Berechtigung bei einem externen Identitätsanbieter authentifizieren, um sich beim Cluster anmelden zu können.
kubeconfig
mit AdministratorzugriffZum Generieren einer eigenständigen kubeconfig
-Datei mit Administratorzugriff und eingebetteten Anmeldedaten fügen Sie die Option --admin
hinzu. Mit dieser kubeconfig
-Datei erhält der Benutzer vollständigen Zugriff auf die Ressourcen des Clusters und kann auf den Cluster zugreifen, ohne sich bei einem Identitätsanbieter anzumelden.
tanzu cluster kubeconfig get my-cluster --admin
Die folgende Ausgabe sollte angezeigt werden:
You can now access the cluster by running 'kubectl config use-context my-cluster-admin@my-cluster'
kubeconfig
Wenn die Identitätsverwaltung auf dem Zielcluster konfiguriert ist, können Sie eine standardmäßige, nicht administrative kubeconfig
generieren, die erfordert, dass sich der Benutzer bei Ihrem externen Identitätsanbieter authentifiziert und ihm basierend auf den zugewiesenen Rollen Zugriff auf Clusterressourcen gewährt. Führen Sie in diesem Fall tanzu cluster kubeconfig get
ohne die Option --admin
aus.
tanzu cluster kubeconfig get CLUSTER-NAME --namespace=NAMESPACE
Dabei sind CLUSTER-NAME
und NAMESPACE
der Cluster und der Namespace, die Sie als Ziel verwenden.
Die folgende Ausgabe sollte angezeigt werden:
You can now access the cluster by running 'kubectl config use-context ...'
Sie speichern die Konfigurationsinformationen in einer eigenständigen kubeconfig
-Datei, um sie beispielsweise an Entwickler zu verteilen, indem Sie die Option --export-file
angeben. Die kubeconfig
-Datei erfordert, dass sich der Benutzer bei einem externen Identitätsanbieter authentifiziert und basierend auf den zugewiesenen Rollen Zugriff auf Clusterressourcen gewährt.
tanzu cluster kubeconfig get CLUSTER-NAME --namespace=NAMESPACE --export-file PATH-TO-FILE
WichtigWenn Sie die Option
--export-file
zum Speichern derkubeconfig
für einen Cluster in einer spezifischen Datei nicht angeben, werden die Anmeldedaten für alle Cluster, die Sie über die Tanzu CLI bereitstellen, standardmäßig zu einer gemeinsam genutztenkubeconfig
-Datei hinzugefügt. Wenn Sie die gemeinsam genutztekubeconfig
-Datei löschen, können alle Cluster nicht mehr verwendet werden.
Nachdem Sie die Anmeldedaten zu Ihrer kubeconfig
hinzugefügt haben, können Sie mithilfe von kubectl
eine Verbindung zum Cluster herstellen.
Verfügbare Kontexte abrufen:
kubectl config get-contexts
Verweisen Sie kubectl
auf Ihren Cluster. Beispiel:
kubectl config use-context my-cluster-admin@my-cluster
Verwenden Sie kubectl
, um den Status der Knoten im Cluster anzuzeigen:
kubectl get nodes
Wenn Sie beispielsweise den my-dev-cluster
mit dem Plan dev
bereitgestellt haben, wird die folgende Ausgabe angezeigt.
NAME STATUS ROLES AGE VERSION
my-dev-cluster-control-plane-9qx88-p88cp Ready control-plane 2d2h v1.25.7+vmware.1
my-dev-cluster-md-0-infra-n62lq-hq4k9 Ready <none> 2d2h v1.25.7+vmware.1
Da die Vernetzung mit Antrea in Arbeitslastclustern standardmäßig aktiviert ist, weisen alle Cluster den Status Ready
auf, ohne dass zusätzliche Konfigurationen erforderlich sind.
Verwenden Sie kubectl
, um den Status der im Cluster ausgeführten Pods anzuzeigen:
kubectl get pods -A
Das folgende Beispiel zeigt die Pods, die im Namespace kube-system
im Cluster my-dev-cluster
in Azure ausgeführt werden.
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system antrea-agent-ck7lv 2/2 Running 4 (3h7m ago) 2d2h
kube-system antrea-agent-fpq79 2/2 Running 4 (3h7m ago) 2d2h
kube-system antrea-controller-66d7978fd7-nkzgb 1/1 Running 4 (3h7m ago) 2d2h
kube-system coredns-77d74f6759-b68ht 1/1 Running 2 (3h7m ago) 2d2h
kube-system coredns-77d74f6759-qfp8b 1/1 Running 2 (3h7m ago) 2d2h
kube-system csi-azuredisk-controller-5957dc576c-42tsd 6/6 Running 12 (3h7m ago) 2d2h
kube-system csi-azuredisk-node-5hmkw 3/3 Running 6 (3h7m ago) 2d2h
kube-system csi-azuredisk-node-k7fr7 3/3 Running 6 (3h7m ago) 2d2h
kube-system csi-azurefile-controller-5d48b98756-rmrxp 5/5 Running 10 (3h7m ago) 2d2h
kube-system csi-azurefile-node-brnf2 3/3 Running 6 (3h7m ago) 2d2h
kube-system csi-azurefile-node-vqghv 3/3 Running 6 (3h7m ago) 2d2h
kube-system csi-snapshot-controller-7ffbf75bd9-5m64r 1/1 Running 2 (3h7m ago) 2d2h
kube-system etcd-my-dev-cluster-control-plane-9qx88-p88cp 1/1 Running 2 (3h7m ago) 2d2h
kube-system kube-apiserver-my-dev-cluster-control-plane-9qx88-p88cp 1/1 Running 2 (3h7m ago) 2d2h
kube-system kube-controller-manager-my-dev-cluster-control-plane-9qx88-p88cp 1/1 Running 2 (3h7m ago) 2d2h
kube-system kube-proxy-hqhfx 1/1 Running 2 (3h7m ago) 2d2h
kube-system kube-proxy-s6wwf 1/1 Running 2 (3h7m ago) 2d2h
kube-system kube-scheduler-my-dev-cluster-control-plane-9qx88-p88cp 1/1 Running 2 (3h7m ago) 2d2h
kube-system metrics-server-545546cdfd-qhbxc 1/1 Running 2 (3h7m ago) 2d2h
secretgen-controller secretgen-controller-7b7cbc6d9d-p6qww 1/1 Running 2 (3h7m ago) 2d2h
tkg-system kapp-controller-868f9469c5-j58pn 2/2 Running 5 (3h7m ago) 2d2h
tkg-system tanzu-capabilities-controller-manager-b46dcfc7f-7dzd9 1/1 Running 4 (3h7m ago) 2d2h
In diesem Abschnitt wird beschrieben, wie sich ein Standardbenutzer ohne Administratorrechte bei einem Arbeitslastcluster anmelden kann, der von einem eigenständigen Verwaltungscluster bereitgestellt wird. Dieser Workflow unterscheidet sich von dem Workflow, mit dem ein Clusteradministrator, der den Verwaltungscluster des Clusters erstellt hat, auf den Arbeitslastcluster zugreift.
Bevor Sie diese Aufgabe ausführen, stellen Sie Folgendes sicher:
apt
anstelle von snap
, um Docker über eine CLI zu installieren.kubeconfig
-Datei für den Arbeitslastcluster, wie in Abrufen von kubeconfig
für Arbeitslastcluster beschriebenFühren Sie in der Tanzu CLI den folgenden Befehl aus:
tanzu login --endpoint https://MANAGEMENT-CLUSTER-CONTROL-PLANE-ENDPOINT:PORT --name SERVER-NAME
Dabei gilt:
PORT
ist standardmäßig 6443
. Wenn der Clusteradministrator bei der Bereitstellung des Clusters CLUSTER_API_SERVER_PORT
oder VSPHERE_CONTROL_PLANE_ENDPOINT_PORT
festgelegt hat, verwenden Sie die in der Variablen definierte Portnummer.SERVER-NAME
der Name des Verwaltungsclusterservers.Wenn die Identitätsverwaltung auf dem Verwaltungscluster konfiguriert ist, wird der Anmeldebildschirm für den Identitätsverwaltungsanbieter (LDAP oder OIDC) in Ihrem Standardbrowser geöffnet.
LDAPS:
OIDC:
Melden Sie sich beim Identitätsverwaltungsanbieter an.
Führen Sie den folgenden Befehl aus, um zum Arbeitslastcluster zu wechseln:
kubectl config use-context CONTEXT --kubeconfig="MY-KUBECONFIG"
Dabei sind CONTEXT
und MY-KUBECONFIG
der Clusterkontext und die kubeconfig
-Datei, die Sie vom Clusteradministrator erhalten haben.
Bei Ihren nachfolgenden Anmeldungen bei der Tanzu CLI wird nach der Eingabe von tanzu login
eine Option zum Auswählen Ihrer Tanzu Kubernetes Grid-Umgebung aus einer Liste eingeblendet.