In diesem Dokument wird beschrieben, wie Sie vorhandene zustandslose Arbeitslasten prüfen, die in einem GDC-Kubernetes-Cluster (Google Distributed Cloud) mit Air Gap ausgeführt werden. Mit zustandslosen Arbeitslasten können Sie das Deployment Ihrer Anwendung ausführen, ohne Daten oder den Anwendungsstatus speichern zu müssen. Sie können Ihre zustandslosen Arbeitslasten mit der GDC-Konsole oder der kubectl-Befehlszeile aufrufen, um die Ressourcennutzung und den Zustand der Arbeitslasten 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
Zum Ausführen der Aufgaben in diesem Dokument müssen Sie die erforderlichen Berechtigungen anfordern und Ihre Umgebung vorbereiten.
IAM-Rollen anfordern
Sie benötigen bestimmte Rollen, um die Berechtigungen zum Aufrufen und Prüfen zustandsloser Arbeitslasten zu erhalten. Welche Rollen Sie benötigen, hängt davon ab, ob Sie in einem freigegebenen Cluster auf Organisationsebene oder in einem Standardcluster auf Projektebene arbeiten. Weitere Informationen finden Sie unter Kubernetes-Clusterkonfigurationen.
Freigegebene Clusterrollen
Bitten Sie Ihren IAM-Projektadministrator, Ihnen die folgenden Rollen in Ihrem Projekt-Namespace zuzuweisen, je nachdem, welche Aufgabe Sie ausführen möchten:
- Workload Viewer (
workload-viewer): Alle Arbeitslasten aufrufen, die in einem freigegebenen Cluster bereitgestellt wurden. - Namespace-Administrator (
namespace-admin): Erstellen, Löschen, Bearbeiten oder Ansehen von Arbeitslasten in einem freigegebenen Clusterprojekt-Namespace.
Diese Rollen sind an Ihren Projekt-Namespace gebunden.
Standardclusterrollen
Bitten Sie den IAM-Projektadministrator, Ihnen die Rolle Cluster-Entwickler (cluster-developer) zuzuweisen, um Arbeitslasten in einem Standardcluster zu erstellen, zu löschen, zu bearbeiten oder anzusehen. 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 Plattformadministratorgruppe nach dem Clusternamen.
Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster.
Ersetzen Sie
KUBERNETES_CLUSTER_KUBECONFIGin dieser Anleitung durch den kubeconfig-Pfad des Kubernetes-Clusters.
Containerarbeitslasten eines Projekts ansehen
So rufen Sie die Containerarbeitslasten Ihres Projekts auf:
Console
Wählen Sie im Navigationsmenü Kubernetes Engine > Arbeitslasten 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 wechseln.
kubectl
Führen Sie den folgenden Befehl aus, um alle Pods in Ihrem Projekt aufzulisten:
kubectl get pods -n PROJECT_NAMESPACEDie 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
Deployment prüfen
Wenn Sie detailliertere Informationen zu den Komponenten einer Deployment-Ressource anfordern möchten, führen Sie Befehle aus, die direkt auf die Entität abzielen, die Sie prüfen möchten.
Informationen zum Deployment-Objekt abrufen
Führen Sie folgenden Befehl aus, um detaillierte Informationen zum Objekt Deployment abzurufen:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
describe deployment DEPLOYMENT_NAME
Ersetzen Sie Folgendes:
KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster, auf dem das Deployment 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.DEPLOYMENT_NAME: der Name desDeployment-Objekts.
Live-Konfiguration im YAML-Format anzeigen
Führen Sie den folgenden Befehl aus, um das Manifest eines Deployment-Objekts aufzurufen:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
get deployments DEPLOYMENT_NAME -o yaml
Mit diesem Befehl wird die Live-Konfiguration des Objekts Deployment im YAML-Format angezeigt.
Pods auflisten
Führen Sie den folgenden Befehl aus, um die durch das Deployment erstellten Pod-Objekte aufzulisten:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
get pods -l KEY=VALUE
In diesem Befehl werden mit dem Flag -l alle Pod-Objekte mit dem angegebenen Schlüssel/Wert-Paar-Label im angegebenen Cluster aufgelistet.
Ersetzen Sie Folgendes:
KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster, auf dem das Deployment 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.KEY: der Schlüssel für das Schlüssel/Wert-Paar-Label, das im Deployment festgelegt ist. Wenn für das Feld.template.metadata.labelsbeispielsweise das Labelapp: myappkonfiguriert ist, lautet der Schlüsselapp.VALUE: der Wert für das Schlüssel/Wert-Paar-Label, das im Deployment festgelegt ist. Wenn für das Feld.template.metadata.labelsbeispielsweise das Labelapp: myappkonfiguriert ist, lautet der Wertmy-app.
Wenn Sie beispielsweise das Objekt Deployment mit app: my-app gekennzeichnet haben, führen Sie den folgenden Befehl aus, um Pod-Objekte mit diesem Label aufzurufen:
kubectl --kubeconfig /tmp/kubeconfig.yaml -n my-namespace \
get pods -l app=my-app
Bestimmte Pod-Informationen abrufen
Führen Sie folgenden Befehl aus, um Informationen zu einem bestimmten Pod-Objekt 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, auf dem das Deployment 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 von der Bereitstellung verwalteten Pods.