In Projekten anmelden

Auf dieser Seite wird beschrieben, wie Sie in Google Distributed Cloud (GDC) mit Air Gap auf Ihre Arbeitslasten und Ressourcen zugreifen und diese verwalten. Es wird beschrieben, wie Sie sich authentifizieren, kubeconfig-Dateien für zonale und globale Ressourcen generieren und Sitzungsinaktivität verwalten. Wenn Sie diese Prozesse verstehen, können Sie einen sicheren und zuverlässigen Zugriff auf Ihre Projekte und Arbeitslasten gewährleisten.

Diese Seite richtet sich an Zielgruppen innerhalb der Plattformadministratorgruppe (z. B. IT-Administratoren) oder der Anwendungsbetreibergruppe (z. B. Anwendungsentwickler), die GDC-Ressourcen verwenden möchten. Weitere Informationen finden Sie unter Zielgruppen für die Dokumentation zu GDC mit Air Gap.

Sie können über die GDC-Konsole, die gdcloud CLI oder die kubectl CLI auf Arbeitslasten zugreifen.

Konto für den Zugriff authentifizieren

So melden Sie sich in der GDC Console oder in einem Cluster an:

Console

Öffnen Sie die folgende URL in einem neuen Browsertab, um auf die Distributed Cloud-Benutzeroberfläche zuzugreifen:

https://GDC_URL

Ersetzen Sie GDC_URL durch den Domainnamen, den Sie für den Zugriff auf Distributed Cloud verwenden, die vom Infrastrukturbetreiber (IO) bereitgestellt wird. Wenn Sie eine URL zum ersten Mal öffnen, werden Sie von Distributed Cloud zur Anmeldeseite Ihres Identitätsanbieters weitergeleitet, sofern der Infrastrukturbetreiber die Seite konfiguriert hat.

In der folgenden Abbildung wird beispielsweise die Anmeldung bei der Console-UI für eine Organisation namens org-1 gezeigt:

Console-UI mit Begrüßungsbildschirm für das Projekt „org-1“

gdcloud

Wenn Sie sich in der gdcloud CLI anmelden, verwenden Sie den Befehl gdcloud auth login, um ein Hauptkonto bei der gdcloud CLI zu authentifizieren. Die gdcloud CLI verwendet dieses Hauptkonto zur Authentifizierung und Autorisierung, um Ressourcen und Dienste von Google Cloud zu verwalten.

Bevor Sie sich anmelden, müssen Sie Folgendes tun:

  • Laden Sie die Binärdatei der gdcloud CLI herunter und installieren Sie sie auf Ihrem System. Weitere Informationen finden Sie unter gdcloud CLI herunterladen.
  • Richten Sie die gdcloud CLI-Standardkonfiguration ein und initialisieren Sie sie. Achten Sie darauf, die richtige Organisations-URL festzulegen, die zum Abrufen des Endpunkts für die Anmeldekonfiguration verwendet wird. Weitere Informationen finden Sie unter gdcloud CLI installieren.
  • Installieren Sie die kubectl-Befehlszeile.
  • Installieren Sie das Authentifizierungs-Plug-in gdcloud-k8s-auth-plugin. Weitere Informationen finden Sie unter Authentifizierung mit der gdcloud CLI.

So melden Sie sich bei einem Management API-Server oder Kubernetes-Cluster an:

  • Management API-Server:
  1. Exportieren Sie den Pfad, unter dem Sie die kubeconfig-Datei des Management API-Servers speichern möchten:

    export KUBECONFIG=MANAGEMENT_API_SERVER
    

    Ersetzen Sie MANAGEMENT_API_SERVER durch den Pfad zum Verzeichnis, in dem die kubeconfig-Datei gespeichert werden soll.

  2. Authentifizieren Sie Ihre gdcloud CLI-Instanz, um sich anzumelden. Es gibt zwei Möglichkeiten, sich zu authentifizieren:

    • Standardmäßige Browseranmeldung: Verwenden Sie diesen Authentifizierungsablauf, wenn Sie sich über einen Browser anmelden.

      gdcloud auth login
      
    • Anmeldung über ein Zweitgerät: Verwenden Sie diesen Authentifizierungsablauf, wenn auf Ihrem primären Gerät kein Browser verfügbar ist. Bei diesem Ablauf wird die Anmeldung auf dem primären Gerät ohne Browserzugriff gestartet und auf dem sekundären Gerät mit Browserzugriff fortgesetzt.

      Starten Sie die Anmeldung auf Ihrem Hauptgerät ohne Browser:

      gdcloud auth login --no-browser
      

      Die Umgebungsvariable KUBECONFIG wird mit den kubeconfig-Dateien für alle API-Server und Cluster in der Organisation aktualisiert. Wenn die Variable KUBECONFIG nicht festgelegt ist, verwendet die kubectl-Befehlszeile die Standard-kubeconfig-Datei, die in $HOME/.kube/config gespeichert ist.

      Wenn Sie die kubeconfig-Dateien nicht bearbeiten möchten, fügen Sie dem Befehl das Flag --skip-kubeconfig-update hinzu. Beispiel:

      gdcloud auth login --no-browser --skip-kubeconfig-update
      

      Kopieren Sie die ausgegebene gdcloud CLI-Befehlsausgabe und führen Sie sie auf einem Computer mit Browserzugriff aus.

  3. Folgen Sie der Anleitung auf der Webseite, um die Anmeldung abzuschließen.

    Nach erfolgreicher Anmeldung wird im Browser die Meldung Authentifizierung erfolgreich. Schließen Sie dieses Fenster.

  4. Folge der Anleitung auf dem Terminal. Nach erfolgreicher Anmeldung wird im Terminal die Meldung Sie sind jetzt angemeldet angezeigt.

  • Kubernetes-Cluster:
  1. Authentifizieren Sie Ihre gdcloud CLI-Instanz, um sich anzumelden. Es gibt zwei Möglichkeiten, sich zu authentifizieren:

    • Standardmäßige Browseranmeldung: Verwenden Sie diesen Authentifizierungsablauf, wenn Sie sich über einen Browser anmelden.

      gdcloud auth login
      
    • Anmeldung über ein Zweitgerät: Verwenden Sie diesen Authentifizierungsablauf, wenn auf Ihrem primären Gerät kein Browser verfügbar ist. Bei diesem Ablauf wird die Anmeldung auf dem primären Gerät ohne Browserzugriff gestartet und auf dem sekundären Gerät mit Browserzugriff fortgesetzt.

      1. Starten Sie die Anmeldung auf Ihrem Hauptgerät ohne Browser:

        gdcloud auth login --no-browser
        

        Der Befehl auf dem primären Gerät gibt einen weiteren gdcloud-Befehl aus, den Sie in Schritt c auf dem sekundären Gerät ausführen müssen.

      2. Wiederholen Sie Schritt 1, um das Zertifikat auf das sekundäre Gerät herunterzuladen.

      3. Schließen Sie die Anmeldung auf dem sekundären Gerät ab, indem Sie den Befehl eingeben, der in Schritt a auf dem primären Gerät angezeigt wurde.

    Dadurch wird ein Browser geöffnet, über den Sie sich beim konfigurierten Identitätsanbieter (IdP) anmelden können. Geben Sie den Nutzer und das Passwort an, die Sie bei der Ersteinrichtung der gdcloud CLI für die Anmeldung festgelegt haben.

  2. Exportieren Sie die kubeconfig-Datei Ihrer Nutzeridentität als Variable:

    export KUBECONFIG=/tmp/CLUSTER_NAME-ZONE-kubeconfig-with-user-identity.yaml
    
  3. Generieren Sie mit Ihrer Nutzeridentität eine kubeconfig-Datei für einen zonalen Cluster:

    gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE
    

    Ersetzen Sie ZONE durch den Zonennamen.

    Eine kubeconfig-Datei wird mit Ihrer Nutzeridentität generiert. Die folgende YAML-Datei zeigt ein Beispiel:

    apiVersion: v1
    clusters:
    - cluster:
      certificate-authority-data: <REDACTED>
      server: https://10.200.0.32:443
    name: cluster-name
    contexts:
    - context:
      cluster: cluster-name
      user: cluster-name-anthos-default-user
    name: cluster-name-cluster-name-anthos-default-user
    current-context: cluster-name-cluster-name-anthos-default-user
    kind: Config
    preferences: {}
    users:
    - name: cluster-name-anthos-default-user
    user:
      exec:
        apiVersion: client.authentication.k8s.io/v1
        args:
        - --audience=root-admin
        command: gdcloud-k8s-auth-plugin
        env: null
        installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin
        interactiveMode: Never
        provideClusterInfo: false
    
  4. Um zu prüfen, ob Sie auf den Cluster zugreifen können, melden Sie sich mit der generierten kubeconfig-Datei mit einer Nutzeridentität an:

    kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
    

Abmelden

So melden Sie sich von der GDC-Konsole ab:

Console

Klicken Sie in der Menüleiste auf Abmelden.

gdcloud

Melden Sie sich von der Befehlszeile ab:

gdcloud auth revoke

kubeconfig-Datei manuell generieren

Wenn Sie Ressourcen mit der kubectl-Befehlszeile verwalten, indem Sie KRM APIs direkt aufrufen, müssen Sie die kubeconfig-Datei für den Cluster oder API-Server generieren, der Ihre Ressource hostet, je nachdem, welchen Ressourcentyp Sie verwalten.

Sie müssen auch die Konfiguration Ihres GDC-Universums kennen, um die Zonen zu bestimmen, in denen Sie Ihre zonalen Ressourcen bereitstellen möchten, oder den globalen API-Server für globale Ressourcen. Weitere Informationen finden Sie unter Globale und zonale API-Server.

Ermitteln Sie, ob die Ressource, die Sie bearbeiten, eine globale oder zonale Ressource ist. Wenn Sie sich nicht sicher sind, finden Sie Hilfe in der Dokumentation der Ressource.

Führen Sie die entsprechende Einrichtung für Ihren Ressourcentyp durch.

Zonale Management API-Serverressourcen

Führen Sie die folgenden Schritte aus, um die kubeconfig-Datei für den zonalen Management API-Server zu generieren:

  1. Alle verfügbaren Zonen ansehen:

    gdcloud zones list
    

    Notieren Sie sich den Namen der Zone, in der Ihre benutzerdefinierte Ressource gehostet wird.

  2. Legen Sie die Umgebungsvariable ZONE auf die Zone fest, in der Ihre zonalen Ressourcen gehostet werden:

    export ZONE="ZONE"
    

    Ersetzen Sie ZONE durch den Zonennamen.

  3. Legen Sie die Umgebungsvariable MANAGEMENT_API_SERVER fest:

    export MANAGEMENT_API_SERVER="ORG_NAME-admin"
    

    Ersetzen Sie ORG_NAME durch den Namen Ihrer Organisation, z. B. org-1.

  4. Generieren Sie die kubeconfig-Datei des Management API-Servers für die Zielzone und validieren Sie die Anmeldedaten:

    export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} --zone ${ZONE:?}
    [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    Mit dem Befehl rm ${KUBECONFIG:?} wird die vorhandene kubeconfig-Datei im Basisverzeichnis entfernt. Wenn Sie eine neue kubeconfig-Datei generieren, wird die vorhandene überschrieben. Wenn Sie die vorhandene Datei nicht überschreiben oder entfernen möchten, sichern Sie sie an einem anderen sicheren Ort.

Zonale Kubernetes-Clusterressourcen

Führen Sie die folgenden Schritte aus, um die kubeconfig-Datei für den zonalen Kubernetes-Cluster zu generieren:

  1. Alle verfügbaren Zonen ansehen:

    gdcloud zones list
    

    Notieren Sie sich den Namen der Zone, in der Ihre benutzerdefinierte Ressource gehostet wird.

  2. Legen Sie die Umgebungsvariable ZONE auf die Zone fest, in der Ihr Kubernetes-Cluster gehostet wird:

    export ZONE="ZONE"
    

    Ersetzen Sie ZONE durch den Zonennamen.

  3. Legen Sie die Umgebungsvariable KUBERNETES_CLUSTER fest:

    export KUBERNETES_CLUSTER="KUBERNETES_CLUSTER_NAME"
    

    Ersetzen Sie KUBERNETES_CLUSTER_NAME durch den Namen Ihres Kubernetes-Clusters.

  4. Generieren Sie die kubeconfig-Datei des Kubernetes-Clusters für die Zielzonenvariable und validieren Sie die Anmeldedaten:

    export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} --zone ${ZONE:?}
    [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    Mit dem Befehl rm ${KUBECONFIG:?} wird die vorhandene kubeconfig-Datei im Basisverzeichnis entfernt. Wenn Sie eine neue kubeconfig-Datei generieren, wird die vorhandene überschrieben. Wenn Sie die vorhandene Datei nicht überschreiben oder entfernen möchten, sichern Sie sie an einem anderen sicheren Ort.

Globale API-Serverressourcen

Führen Sie die folgenden Schritte aus, um die kubeconfig-Datei für den globalen API-Server zu generieren:

  1. Legen Sie die Umgebungsvariable GLOBAL_API_SERVER fest:

    export GLOBAL_API_SERVER="global-api"
    
  2. Generieren Sie die kubeconfig-Datei des globalen API-Servers und validieren Sie die Anmeldedaten:

    export KUBECONFIG=${HOME}/${GLOBAL_API_SERVER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${GLOBAL_API_SERVER:?}
    [[ $(kubectl config current-context) == *${GLOBAL_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    Mit dem Befehl rm ${KUBECONFIG:?} wird die vorhandene kubeconfig-Datei im Basisverzeichnis entfernt. Wenn Sie eine neue kubeconfig-Datei generieren, wird die vorhandene überschrieben. Wenn Sie die vorhandene Datei nicht überschreiben oder entfernen möchten, sichern Sie sie an einem anderen sicheren Ort.

Abmeldung bei Sitzungsinaktivität

Nach 15 Minuten Inaktivität in einer Sitzung werden Sie von der GDC-Konsole und der gdcloud CLI abgemeldet. Distributed Cloud betrachtet eine Sitzung als inaktiv, wenn während einer offenen Sitzung keine aktive Interaktion von Ihnen stattfindet, z. B. keine Cursor- oder Tastaturbewegung. Eine aktive Sitzung dauert bis zu zwölf Stunden mit Nutzeraktivität.

Console

Bei Inaktivität werden Sie von der GDC-Konsole abgemeldet. Zwei Minuten vor der Abmeldung wegen Inaktivität wird in der GDC-Konsole ein Dialogfeld angezeigt, das Sie auf die Abmeldung hinweist:

Console-UI mit einem Dialogfeld mit einem Timer von 99 Sekunden, bevor der Nutzer wegen Inaktivität abgemeldet wird.

Nachdem Sie wegen Inaktivität abgemeldet wurden, wird der folgende Bildschirm angezeigt:

Console-UI mit Anmeldebildschirm und einem Banner mit Text zur Abmeldung von der Sitzung: „Sie wurden vom System abgemeldet, weil Ihre Sitzung zu lange inaktiv war. Bitte melden Sie sich noch einmal an oder wenden Sie sich an Ihren Administrator.'

Wählen Sie Ihren Identitätsanbieter aus und geben Sie Ihre Anmeldedaten ein, um sich wieder in der GDC-Konsole anzumelden. Wenn Sie einen Dienst wie das Monitoring-Dashboard verwenden und die GDC-Konsole Sie wegen Inaktivität abmeldet, melden Sie sich wieder an, um Zugriff zu erhalten.

gdcloud

Bei Inaktivität der Sitzung werden Sie von der gdcloud CLI abgemeldet. Nachdem Sie von der gdcloud CLI abgemeldet wurden und versuchen, einen Befehl auszuführen, erhalten Sie einen Autorisierungsfehler:

Error: error when creating kube client: unable to create k8sclient: Unauthorized

Wenn Sie sich wieder in GDC anmelden möchten, folgen Sie den Schritten für die Befehlszeile unter Anmelden.

Wenn Sie sich über einen Management API-Server wieder in GDC anmelden, wird Ihre kubeconfig-Datei automatisch aktualisiert. Wenn Sie verhindern möchten, dass Ihre kubeconfig-Datei aktualisiert wird, verwenden Sie das Flag --skip-kubeconfig-update im Befehl gdcloud auth login.

kubectl

Die gdcloud CLI lässt Ihre kubeconfig-Dateien nach einer Inaktivität der Sitzung ablaufen. Wenn Sie nach einer Inaktivität versuchen, einen kubectl-Befehl auszuführen, erhalten Sie einen Autorisierungsfehler:

error: You must be logged in to the server (Unauthorized)

Wenn Sie sich wieder anmelden und Ihre kubeconfig-Datei verwenden möchten, folgen Sie der Anleitung für die Befehlszeile unter Anmelden. Bei jeder Zeitüberschreitung für Sitzungen müssen Sie Ihre kubeconfig-Dateien neu generieren.