Auf dieser Seite wird beschrieben, wie Sie in Google Distributed Cloud (GDC) Air-Gapped auf Ihre Arbeitslasten und Ressourcen zugreifen und diese verwalten. Darin wird beschrieben, wie Sie sich authentifizieren, kubeconfig-Dateien für zonale und globale Ressourcen generieren und Sitzungsaktivitä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 Nutzer in der Gruppe „Plattformadministrator“ (z. B. IT-Administratoren) oder in der Gruppe „Anwendungsbediener“ (z. B. Anwendungsentwickler), die GDC-Ressourcen verwenden möchten. Weitere Informationen finden Sie unter Zielgruppen für die GDC-Dokumentation für Air-Gap-Umgebungen.
Sie können über die GDC Console, die gdcloud CLI oder die kubectl CLI auf Arbeitslasten zugreifen.
Konto für den Zugriff authentifizieren
So melden Sie sich in der GDC-Konsole oder in einem Cluster an:
Console
Öffnen Sie die folgende URL in einem neuen Browsertab, um auf die Benutzeroberfläche von Distributed Cloud zuzugreifen:
https://GDC_URL
Ersetzen Sie GDC_URL
durch den Domainnamen, den Sie für den Zugriff auf Distributed Cloud verwenden und den der Infrastrukturoperator (IO) bereitstellt. Wenn Sie eine URL zum ersten Mal öffnen, werden Sie von Distributed Cloud zur Anmeldeseite Ihres Identitätsanbieters weitergeleitet, wenn der Infrastructure Operator (IO) die Seite konfiguriert hat.
Das folgende Bild zeigt beispielsweise die Anmeldung in der Console-UI für eine Organisation namens org-1
:
Befehlszeile
Wenn Sie sich in der gdcloud CLI anmelden, verwenden Sie den Befehl gdcloud auth login
, um ein Konto in der gdcloud CLI zu authentifizieren. Die gcloud CLI verwendet dieses Hauptkonto zur Authentifizierung und Autorisierung, um Google Cloud -Ressourcen und -Dienste zu verwalten.
Bevor Sie sich anmelden, müssen Sie Folgendes tun:
- Laden Sie die Binärdatei für die gdcloud CLI herunter und installieren Sie sie auf Ihrem System. Weitere Informationen finden Sie unter gcloud CLI herunterladen.
- Richten Sie die Standardkonfiguration der gcloud CLI ein und initialisieren Sie sie. Achten Sie darauf, die richtige Organisations-URL festzulegen, die zum Abrufen des Anmeldekonfigurationsendpunkts verwendet wird. Weitere Informationen finden Sie unter gcloud CLI installieren.
- Installieren Sie das Authentifizierungs-Plug-in
gdcloud-k8s-auth-plugin
. Weitere Informationen finden Sie unter Authentifizierung der gcloud CLI.
Führen Sie die folgenden Schritte aus, um sich bei einem Management API-Server oder Kubernetes-Cluster anzumelden:
- Management API-Server:
Exportieren Sie den Pfad, in 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.
Authentifizieren Sie Ihre gcloud CLI-Instanz, um sich anzumelden. Es gibt zwei Möglichkeiten zur Authentifizierung:
Standardanmeldung im Browser:Verwenden Sie diesen Authentifizierungsablauf, wenn Sie sich über einen Browser anmelden.
gdcloud auth login
Anmeldung auf einem sekundären Gerät:Verwenden Sie diesen Authentifizierungsvorgang, wenn auf Ihrem primären Gerät kein Browser verfügbar ist. Bei diesem Ablauf wird die Anmeldung auf dem Hauptgerät ohne Browserzugriff gestartet und auf dem Zweitgerät mit Browserzugriff fortgesetzt.
So 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 VariableKUBECONFIG
nicht festgelegt ist, verwendet die kubectl-Befehlszeile die Standard-kubeconfig-Datei, die in$HOME/.kube/config
gespeichert ist.Wenn Sie die Bearbeitung der kubeconfig-Dateien überspringen möchten, fügen Sie Ihrem Befehl das Flag
--skip-kubeconfig-update
hinzu. Beispiel:gdcloud auth login --no-browser --skip-kubeconfig-update
Kopieren Sie die Ausgabe des gcloud CLI-Befehls und führen Sie sie auf einem Computer mit Browserzugriff aus.
Folgen Sie der Anleitung auf der Webseite, um die Anmeldung abzuschließen.
Nach erfolgreichem Abschluss der Anmeldung wird im Browser die Meldung Authentifizierung erfolgreich. Bitte schließen Sie dieses Fenster.
Folgen Sie der Anleitung auf dem Terminal. Nach erfolgreicher Anmeldung wird im Terminal die Meldung You are now logged in (Sie sind jetzt angemeldet) angezeigt.
- Kubernetes-Cluster:
Authentifizieren Sie Ihre gcloud CLI-Instanz, um sich anzumelden. Es gibt zwei Möglichkeiten zur Authentifizierung:
Standardanmeldung im Browser:Verwenden Sie diesen Authentifizierungsablauf, wenn Sie sich über einen Browser anmelden.
gdcloud auth login
Anmeldung auf einem sekundären Gerät:Verwenden Sie diesen Authentifizierungsvorgang, wenn auf Ihrem primären Gerät kein Browser verfügbar ist. Bei diesem Ablauf wird die Anmeldung auf dem Hauptgerät ohne Browserzugriff gestartet und auf dem Zweitgerät mit Browserzugriff fortgesetzt.
So 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.Wiederholen Sie Schritt 1, um das Zertifikat auf dem sekundären Gerät herunterzuladen.
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 wird.
Dadurch wird ein Browser geöffnet, in dem Sie sich beim konfigurierten Identitätsanbieter (Identity Provider, IdP) anmelden können. Geben Sie den Nutzer und das Passwort an, die Sie bei der ersten Einrichtung der gcloud CLI festgelegt haben, um sich anzumelden.
Exportieren Sie die kubeconfig-Datei Ihrer Nutzeridentität als Variable:
export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
Generieren Sie eine kubeconfig-Datei mit Ihrer Nutzeridentität:
gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE
Ersetzen Sie
ZONE
durch den Namen der Zone.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
So prüfen Sie, 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 Console ab:
Console
Klicken Sie in der Menüleiste auf
Abmelden.Befehlszeile
Von der CLI abmelden:
gdcloud auth revoke
kubeconfig-Datei manuell generieren
Wenn Sie Ressourcen mit der kubectl CLI verwalten, indem Sie KRM-APIs direkt aufrufen, müssen Sie die kubeconfig-Datei für den Cluster oder API-Server generieren, auf dem Ihre Ressource gehostet wird. Das hängt vom Ressourcentyp ab, den 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.
Stellen Sie fest, ob die Ressource, die Sie bearbeiten, eine globale oder zonale Ressource ist. Wenn Sie sich nicht sicher sind, finden Sie in der Dokumentation der jeweiligen Ressource weitere Informationen.
Führen Sie die entsprechende Einrichtung basierend auf Ihrem 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:
So rufen Sie alle verfügbaren Zonen auf:
gdcloud zones list
Notieren Sie sich den Namen der Zone, in der Ihre benutzerdefinierte Ressource gehostet wird.
Legen Sie die Umgebungsvariable
ZONE
auf die Zone fest, in der sich Ihre zonalen Ressourcen befinden:export ZONE="ZONE"
Ersetzen Sie
ZONE
durch den Namen der Zone.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
.Generieren Sie die kubeconfig-Datei des Management API-Servers für die Zielzone und prüfen 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 Home-Verzeichnis entfernt. Wenn Sie eine neue kubeconfig-Datei generieren, wird die vorhandene Datei ü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 zonenbasierten Kubernetes-Cluster zu generieren:
So rufen Sie alle verfügbaren Zonen auf:
gdcloud zones list
Notieren Sie sich den Namen der Zone, in der Ihre benutzerdefinierte Ressource gehostet wird.
Legen Sie die Umgebungsvariable
ZONE
auf die Zone fest, in der sich Ihr Kubernetes-Cluster befindet:export ZONE="ZONE"
Ersetzen Sie
ZONE
durch den Namen der Zone.Legen Sie die Umgebungsvariable
KUBERNETES_CLUSTER
fest:export KUBERNETES_CLUSTER="KUBERNETES_CLUSTER_NAME"
Ersetzen Sie
KUBERNETES_CLUSTER_NAME
durch den Namen Ihres Kubernetes-Clusters.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 Home-Verzeichnis entfernt. Wenn Sie eine neue kubeconfig-Datei generieren, wird die vorhandene Datei ü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:
Legen Sie die Umgebungsvariable
GLOBAL_API_SERVER
fest:export GLOBAL_API_SERVER="global-api"
Generieren Sie die globale kubeconfig-Datei für den API-Server 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 Home-Verzeichnis entfernt. Wenn Sie eine neue kubeconfig-Datei generieren, wird die vorhandene Datei überschrieben. Wenn Sie die vorhandene Datei nicht überschreiben oder entfernen möchten, sichern Sie sie an einem anderen sicheren Ort.
Abmeldung bei Inaktivität
Nach 15 Minuten oder mehr Inaktivität in einer Sitzung werden Sie von der GDC-Konsole und der gdcloud-CLI abgemeldet. Bei Distributed Cloud gilt eine Sitzung als inaktiv, wenn während einer offenen Sitzung keine aktiven Aktionen von Ihnen erfolgen, z. B. keine Maus- oder Tastaturbewegungen. Eine aktive Sitzung kann bis zu zwölf Stunden dauern, wenn Nutzeraktivitäten gemessen werden.
Console
Bei Inaktivität während einer Sitzung werden Sie aus der GDC-Konsole abgemeldet. Zwei Minuten, bevor Sie in der GDC-Konsole aufgrund von Inaktivität abgemeldet werden, wird ein Dialogfeld angezeigt, in dem Sie vor der Abmeldung gewarnt werden:
Nachdem Sie aufgrund von Inaktivität abgemeldet wurden, wird der folgende Bildschirm angezeigt:
Wenn Sie sich wieder in der GDC-Konsole anmelden möchten, wählen Sie Ihren Identitätsanbieter aus und geben Sie Ihre Anmeldedaten ein. Wenn Sie einen Dienst wie das Monitoring-Dashboard verwenden und Sie aufgrund von Inaktivität aus der GDC-Konsole abgemeldet werden, melden Sie sich wieder an, um Zugriff zu erhalten.
gdcloud
Bei Inaktivität während der Sitzung werden Sie von der gcloud CLI abgemeldet. Nachdem Sie sich mit der gcloud CLI abgemeldet haben 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 der CLI-Anleitung unter Anmelden.
Wenn Sie sich über einen Management API-Server wieder in GDC anmelden, wird Ihre kubeconfig-Datei automatisch aktualisiert. Wenn Sie nicht 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 Inaktivität der Sitzung ablaufen. Wenn Sie versuchen, nach einer Inaktivitätsphase 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 unter Anmelden. Bei jedem Sitzungs-Timeout müssen Sie Ihre kubeconfig-Dateien neu generieren.
Anmelde- und neue Nutzeraktivitäten im Blick behalten
Aktivitäten wie die Anmeldung werden als Audit-Logs exportiert. Weitere Informationen zum Ansehen von Audit-Logs finden Sie unter Audit-Logs.