Auf dieser Seite wird beschrieben, wie Sie Ihrem Google Kubernetes Engine-Cluster (GKE) Berechtigungen für den Zugriff auf Ihre Spanner-Datenbank erteilen.
GKE ist ein verwalteter Kubernetes-Dienst, mit dem sich Containeranwendungen einfach bereitstellen und verwalten lassen. Wenn Sie GKE und Spanner zusammen verwenden, profitieren Sie von Skalierbarkeit, Zuverlässigkeit, Sicherheit und Hochverfügbarkeit auf Anwendungs- und Datenbankebene.
Ihr GKE-Cluster kann über die Identitätsföderation von Arbeitslasten für GKE auf die Spanner API zugreifen. Mit der Workload Identity-Föderation für GKE kann ein Kubernetes-Dienstkonto in Ihrem Cluster als IAM-Dienstkonto verwendet werden. Das IAM-Dienstkonto stellt Standardanmeldedaten für Anwendungen für Ihre Pods bereit, sodass Sie nicht jeden Pod so konfigurieren müssen, dass er Ihre persönlichen Nutzeranmeldedaten verwendet.
Nachdem Sie Ihre Anwendungen so konfiguriert haben, dass sie sich mit der Identitätsföderation von Arbeitslasten für GKE authentifizieren, können Sie Spanner-Clientbibliotheken verwenden, um Ihre Spanner-Datenbanken abzufragen. Sie können auch Ihre Anwendungen zu Ihren GKE-Knotenpools migrieren.
Im Codelab „Spanner mit GKE Autopilot verbinden“ erfahren Sie, wie Sie eine Verbindung in einer Beispielumgebung herstellen.
Identitätsföderation von Arbeitslasten für GKE aktivieren
Aktivieren Sie die Workload Identity Federation for 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 in einem neuen Cluster aktivieren, indem Sie einen neuen Knotenpool erstellen. Sie können die Identitätsföderation von Arbeitslasten für GKE auch in einem vorhandenen Knotenpool aktivieren. Bei GKE-Autopilot-Clustern ist die Identitätsföderation von Arbeitslasten für GKE standardmäßig aktiviert. Weitere Informationen finden Sie unter Workload Identity Federation for GKE aktivieren.
Verbindung zu Spanner mit der Identitätsföderation von Arbeitslasten für GKE authentifizieren
Konfigurieren Sie Ihre Anwendungen so, dass sie sich mithilfe der Workload Identity-Föderation für GKE bei Google Cloud authentifizieren.
Achten Sie darauf, dass Ihr GKE-Pod ein Kubernetes-
ServiceAccount
-Objekt verwendet, wie unter Autorisierung und Principals konfigurieren beschrieben.Erstellen Sie eine IAM-Zulassungsrichtlinie, die dem Kubernetes-
ServiceAccount
-Objekt die erforderlichen Spanner-IAM-Rollen gewährt. Im folgenden Beispiel wird die Rolle „Spanner-Datenbank-Nutzer“ (roles/spanner.databaseUser
) gewährt: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 numerischeGoogle Cloud -Projektnummer.NAMESPACE
: Der Kubernetes-Namespace, der das ServiceAccount enthält.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
- Weitere Informationen zum Bereitstellen Ihrer Anwendung in einem GKE-Cluster
- Weitere Informationen zum Bereitstellen Ihrer Anwendung mit GKE Autopilot und Spanner
- Weitere Informationen zum Migrieren vorhandener Arbeitslasten zur Identitätsföderation von Arbeitslasten für GKE
- Weitere Informationen zu Best Practices für SQL
- Spanner mit anderen ORMs wie Hibernate ORM, gorm und Django ORM integrieren