Zustandsorientierte Arbeitslasten prüfen

In diesem Dokument wird beschrieben, wie Sie vorhandene zustandsbehaftete Arbeitslasten untersuchen, die in einem GDC-Kubernetes-Cluster (Google Distributed Cloud) mit Air Gap ausgeführt werden. Mit zustandsorientierten Arbeitslasten können Sie Ihre Anwendung mit nichtflüchtigem Containerspeicher ausführen. Sie können Ihre zustandsorientierten Arbeitslasten mit der GDC-Konsole oder der kubectl-CLI aufrufen, um die Ressourcennutzung und den Arbeitslaststatus zu überwachen.

Dieses Dokument richtet sich an Entwickler in der Gruppe der Anwendungsoperatoren, die für die Verwaltung von Anwendungsarbeitslasten für ihre Organisation verantwortlich sind. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.

Hinweis

Um die Aufgaben in diesem Dokument auszuführen, müssen Sie die erforderlichen Berechtigungen anfordern und Ihre Umgebung vorbereiten.

IAM-Rollen anfordern

Sie benötigen bestimmte Rollen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen und Prüfen von zustandsorientierten Arbeitslasten benötigen. Die erforderlichen Rollen hängen davon ab, ob Sie in einem gemeinsam genutzten Cluster mit Organisationsbereich oder in einem Standardcluster mit Projektbereich arbeiten. Weitere Informationen finden Sie unter Kubernetes-Clusterkonfigurationen.

Freigegebene Clusterrollen

Bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die folgenden Rollen in Ihrem Projekt-Namespace zuzuweisen, je nachdem, welche Aufgabe Sie ausführen möchten:

  • Workload Viewer (workload-viewer): Alle in einem freigegebenen Cluster bereitgestellten Arbeitslasten ansehen.
  • Namespace-Administrator (namespace-admin): Arbeitslasten in einem Namespace für ein gemeinsames Clusterprojekt erstellen, löschen, bearbeiten oder ansehen.

Diese Rollen sind an Ihren Projekt-Namespace gebunden.

Standard-Clusterrollen

Bitten Sie den IAM-Administrator Ihres Projekts, Ihnen die Rolle Cluster Developer (cluster-developer) zuzuweisen, damit Sie Arbeitslasten in einem Standardcluster erstellen, löschen, bearbeiten oder aufrufen können. Diese Rolle ist an Ihren Projekt-Namespace gebunden.

Umgebung vorbereiten

Wenn Sie Befehle für einen Kubernetes-Cluster über die API ausführen möchten, benötigen Sie die folgenden Ressourcen:

  • Suchen Sie den Namen des Kubernetes-Clusters oder fragen Sie ein Mitglied der Gruppe „Plattformadministrator“, wie der Clustername lautet.

  • Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster.

  • Verwenden Sie den kubeconfig-Pfad des Kubernetes-Clusters, um KUBERNETES_CLUSTER_KUBECONFIG in dieser Anleitung zu ersetzen.

Containerarbeitslasten eines Projekts ansehen

So rufen Sie die Containerarbeitslasten Ihres Projekts auf:

Console

  • Wählen Sie im Navigationsmenü Kubernetes Engine > Workloads aus.

    Sie können sich Details zu Ihren Containerarbeitslasten ansehen, z. B.:

    • Name
    • Typ
    • Anzahl der Pods
    • Kubernetes-Cluster
    • Datum der letzten Änderung

    Die Containerarbeitslasten sind nach dem Kubernetes-Cluster organisiert, zu dem sie gehören. Wählen Sie das Drop-down-Menü Cluster aus, um den Clusterkontext zu ändern.

kubectl

  • Führen Sie den folgenden Befehl aus, um alle Pods in Ihrem Projekt aufzulisten:

    kubectl get pods -n PROJECT_NAMESPACE
    

    Die Ausgabe sieht etwa so aus:

    NAME                        READY   STATUS    RESTARTS   AGE
    nginx-workload-ah-aa-1228   1/1     Running   0          12h
    nginx-workload-ah-ab-6784   1/1     Running   0          11h
    nginx-workload-ah-ac-0045   1/1     Running   0          12h
    

StatefulSet-Ressource prüfen

Wenn Sie detailliertere Informationen zu den Komponenten einer StatefulSet-Ressource anfordern möchten, führen Sie Befehle aus, die direkt auf die zu untersuchende Entität ausgerichtet sind.

Informationen zum StatefulSet-Objekt abrufen

Führen Sie den folgenden Befehl aus, um detaillierte Informationen zum StatefulSet-Objekt abzurufen:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe statefulset STATEFULSET_NAME

Ersetzen Sie Folgendes:

  • KUBERNETES_CLUSTER_KUBECONFIG: Die kubeconfig-Datei für den Cluster, in dem das StatefulSet-Objekt ausgeführt wird.

  • NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

  • STATEFULSET_NAME: der Name des StatefulSet-Objekts.

Live-Konfiguration im YAML-Format anzeigen

So rufen Sie die Livekonfiguration der StatefulSet-Ressource im YAML-Format auf:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get statefulset STATEFULSET_NAME -o yaml

Ersetzen Sie Folgendes:

  • KUBERNETES_CLUSTER_KUBECONFIG: Die kubeconfig-Datei für den Cluster, in dem das StatefulSet-Objekt ausgeführt wird.

  • NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

  • STATEFULSET_NAME: der Name des StatefulSet-Objekts.

Pods auflisten

Führen Sie den folgenden Befehl aus, um die von StatefulSet erstellten Pod-Objekte aufzulisten:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pods -l app=APP_NAME

In diesem Befehl werden mit dem Flag -l alle Pod-Objekte aufgelistet, die mit APP_NAME gekennzeichnet sind.

Ersetzen Sie Folgendes:

  • KUBERNETES_CLUSTER_KUBECONFIG: Die kubeconfig-Datei für den Cluster, in dem das StatefulSet-Objekt ausgeführt wird.

  • NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

  • APP_NAME: der Name der zustandsorientierten Anwendung, die vom StatefulSet-Objekt verwaltet wird.

Bestimmte Pod-Informationen abrufen

Führen Sie folgenden Befehl aus, um Informationen zu einem bestimmten Pod im Cluster abzurufen:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pod POD_NAME

Ersetzen Sie Folgendes:

  • KUBERNETES_CLUSTER_KUBECONFIG: Die kubeconfig-Datei für den Cluster, in dem der Pod ausgeführt wird.

  • NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

  • POD_NAME: der Name des Pods, der vom StatefulSet-Objekt verwaltet wird.

PVCs auflisten

Führen Sie folgenden Befehl aus, um die PersistentVolumeClaim-Objekte (PVC) im Cluster aufzulisten:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pvc

Ersetzen Sie Folgendes:

  • KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei des Clusters, in dem die PVCs ausgeführt werden.

  • NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

Bestimmte PVC-Informationen abrufen

Wenn Sie Informationen zu einem bestimmten PersistentVolumeClaim (PVC) im Cluster abrufen möchten, führen Sie folgenden Befehl aus:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pvc PVC_NAME

Ersetzen Sie Folgendes:

  • KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster, auf dem der PVC ausgeführt wird.

  • NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

  • PVC_NAME: der Name des PVC, der für das StatefulSet-Objekt konfiguriert ist.

PV-Informationen abrufen

Führen Sie folgenden Befehl aus, um Informationen zu einem bestimmten PersistentVolume (PV) im Cluster abzurufen:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pv PV_NAME

Ersetzen Sie Folgendes:

  • KUBERNETES_CLUSTER_KUBECONFIG: Die kubeconfig-Datei für den Cluster, auf dem das PV ausgeführt wird.

  • NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

  • PV_NAME: der Name des PV, der für das StatefulSet-Objekt konfiguriert ist.

Nächste Schritte