Spanner mit einem GKE-Cluster verbinden

Auf dieser Seite wird beschrieben, wie Sie Ihre Google Kubernetes Engine (GKE) Clusterberechtigungen für den Zugriff auf Ihre Spanner-Datenbank.

GKE ist ein verwalteter Kubernetes-Dienst, der eine einfache Bereitstellung ermöglicht. und Containeranwendungen verwalten. Mit GKE und zusammen mit Spanner von Skalierbarkeit profitieren. Zuverlässigkeit, Sicherheit und Hochverfügbarkeit auf Ihrer Anwendungsebene in Ihrer Datenbankschicht.

Ihr GKE-Cluster kann über Workload Identity-Föderation für GKE. Mit der Identitätsföderation von Arbeitslasten für GKE kann ein Kubernetes-Dienstkonto in Ihrem Cluster agiert werden als IAM-Dienstkonto. Das IAM-Dienstkonto stellt Standardanwendungs- Anmeldedaten für Ihre Pods, sodass Sie nicht jeden Pod für die Verwendung Ihrer persönlichen Nutzeranmeldedaten.

Nachdem Sie Ihre Anwendungen für die Authentifizierung mit der Workload Identity-Föderation für GKE konfiguriert haben, können Sie Spanner-Clientbibliotheken um Ihre Spanner-Datenbanken abzufragen. Sie können auch Ihre Anwendungen zu Ihren GKE-Knotenpools hinzufügen.

Um eine Verbindung in einer Beispielumgebung zu erstellen, versuchen Sie Folgendes: Codelab zum Verbinden von Spanner mit GKE Autopilot

Identitätsföderation von Arbeitslasten für GKE aktivieren

Aktivieren Sie die Identitätsföderation von Arbeitslasten für GKE für Ihren GKE-Cluster, falls Sie dies noch nicht getan haben. Sie können die Identitätsföderation von Arbeitslasten für GKE auf einer neuen Cluster erstellen, indem Sie einen neuen Knotenpool erstellen Alternativ können Sie die Identitätsföderation von Arbeitslasten für GKE in einem vorhandenen Knotenpool aktivieren. GKE Autopilot-Cluster Die Identitätsföderation von Arbeitslasten für GKE ist standardmäßig aktiviert. Weitere Informationen finden Sie unter Identitätsföderation von Arbeitslasten für GKE aktivieren

Verbindung zu Spanner mit der Identitätsföderation von Arbeitslasten für GKE authentifizieren

Konfigurieren Sie Ihre Anwendungen für die Authentifizierung bei Google Cloud mithilfe von Identitätsföderation von Arbeitslasten für GKE

  1. Achten Sie darauf, dass Ihr GKE-Pod einen Kubernetes-ServiceAccount verwendet wie unter Autorisierung und Hauptkonten konfigurieren beschrieben.

  2. Erstellen Sie eine IAM-Zulassungsrichtlinie, die die erforderlichen Spanner-IAM-Rollen für Kubernetes ServiceAccount-Objekt. Im folgenden Beispiel wird die Spanner-Datenbank Nutzerrolle (roles/spanner.databaseUser):

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/subject/ns/NAMESPACE/sa/KSA_NAME \
          --role=roles/spanner.databaseUser \
          --condition=None
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID des GKE-Cluster.
    • PROJECT_NUMBER: die numerische Google Cloud-Projektnummer.
    • NAMESPACE: Der Kubernetes-Namespace, der enthält das Dienstkonto.
    • KSA_NAME: Der Name des ServiceAccount.

Spanner-Datenbanken verbinden

Nachdem Ihr Anwendungs-Pod authentifiziert wurde, können Sie eine der Spanner-Clientbibliotheken verwenden, um Ihre Spanner-Datenbank abzufragen.

Nächste Schritte