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
Achten Sie darauf, dass Ihr GKE-Pod einen Kubernetes-
ServiceAccount
verwendet wie unter Autorisierung und Hauptkonten konfigurieren beschrieben.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
- Anwendung im GKE-Cluster bereitstellen
- Anwendung mit GKE Autopilot bereitstellen und Spanner.
- Vorhandene Arbeitslasten zur Workload Identity-Föderation für GKE migrieren
- Weitere Informationen zu Best Practices für SQL
- Integrieren Sie Spanner in andere ORMs, einschließlich Hibernate ORM. gorm und Django ORM.