Herstellen einer Verbindung zu und Untersuchen von Arbeitslastclustern

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.

Auflisten bereitgestellter Arbeitslastcluster

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.
    • Kein Status: Die Erstellung des Clusters wurde noch nicht gestartet.

    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.27.5+vmware.1 <none>      dev   v1.27.5---vmware.2-tkg.1
    workload-cluster-2     default     running        1/1           1/1      v1.27.5+vmware.1 <none>      dev   v1.27.5---vmware.2-tkg.1
    mgmt-cluster           tkg-system  running        1/1           1/1      v1.27.5+vmware.1 management  dev   v1.27.5---vmware.2-tkg.1
    
  • Um alle Verwaltungscluster anzuzeigen und den Kontext der Tanzu CLI in einen anderen Verwaltungscluster zu ändern, führen Sie den Befehl tanzu context use aus. Weitere Informationen finden Sie unter Auflisten von Verwaltungsclustern und Ändern des Kontexts.

Exportieren von Arbeitslastclusterdetails in eine Datei

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.

Als JSON-Datei exportieren

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.27.5+vmware.1",
    "roles": [],
    "tkr": "v1.27.5---vmware.2-tkg.1",
    "labels": {
      "cluster.x-k8s.io/cluster-name": "workload-cluster-1",
      "run.tanzu.vmware.com/tkr": "v1.27.5---vmware.2-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.27.5+vmware.1",
    "roles": [],
    "tkr": "v1.27.5---vmware.2-tkg.1",
    "labels": {
      "tanzuKubernetesRelease": "v1.27.5---vmware.2-tkg.1",
      "tkg.tanzu.vmware.com/cluster-name": "workload-cluster-2"
    }
  }
]

Als YAML-Datei exportieren

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.27.5+vmware.1
  roles: []
  tkr: v1.27.5---vmware.2-tkg.1
  labels:
    cluster.x-k8s.io/cluster-name: workload-cluster-1
    run.tanzu.vmware.com/tkr: v1.27.5---vmware.2-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.27.5+vmware.1
  roles: []
  tkr: v1.27.5---vmware.2-tkg.1
  labels:
    tanzuKubernetesRelease: v1.27.5---vmware.2-tkg.1
    tkg.tanzu.vmware.com/cluster-name: workload-cluster-1

Exportieren von Details für mehrere Cluster

Informationen zum Speichern der Details mehrerer Verwaltungscluster, einschließlich des Kontexts und der kubeconfig-Dateien, finden Sie unter Verwaltung Ihrer Verwaltungscluster.

Abrufen von kubeconfig für Arbeitslastcluster

Nachdem 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
Wichtig

Wenn 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
Wichtig

Wenn 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 Administratorzugriff

Zum 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'

Standardmäßige 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
Wichtig

Wenn Sie die Option --export-file zum Speichern der kubeconfig 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 genutzten kubeconfig-Datei hinzugefügt. Wenn Sie die gemeinsam genutzte kubeconfig-Datei löschen, können alle Cluster nicht mehr verwendet werden.

Untersuchen des bereitgestellten Clusters

Nachdem Sie die Anmeldedaten zu Ihrer kubeconfig hinzugefügt haben, können Sie mithilfe von kubectl eine Verbindung zum Cluster herstellen.

  1. Verfügbare Kontexte abrufen:

    kubectl config get-contexts
    
  2. Verweisen Sie kubectl auf Ihren Cluster. Beispiel:

    kubectl config use-context my-cluster-admin@my-cluster
    
  3. 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.27.5+vmware.1
    my-dev-cluster-md-0-infra-n62lq-hq4k9      Ready    <none>          2d2h   v1.27.5+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.

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

Zugriff auf einen Arbeitslastcluster als Standardbenutzer (eigenständiger Verwaltungscluster)

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.

Voraussetzungen

Bevor Sie diese Aufgabe ausführen, stellen Sie Folgendes sicher:

  • Sie verfügen über eine Docker-Anwendung, die auf Ihrem System ausgeführt wird. Wenn auf Ihrem System Microsoft Windows ausgeführt wird, legen Sie als Docker-Modus Linux fest und konfigurieren Sie Windows-Subsystem für Linux.
    • Verwenden Sie auf einer Linux-Maschine apt anstelle von snap, um Docker über eine CLI zu installieren.
  • Sie haben vom Clusteradministrator Folgendes erhalten:

Zugreifen auf den Arbeitslastcluster

  1. Führen Sie in der Tanzu CLI den folgenden Befehl aus:

    tanzu context create --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.
    • Dabei ist 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:

    LDAPS-Anmeldeseite

    OIDC:

    OIDC-Anmeldeseite

  2. Melden Sie sich beim Identitätsverwaltungsanbieter an.

  3. 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 context use eine Option zum Auswählen Ihrer Tanzu Kubernetes Grid-Umgebung aus einer Liste eingeblendet.

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