Questa pagina descrive come concedere al tuo cluster Google Kubernetes Engine (GKE) le autorizzazioni per accedere al database Spanner.
GKE è un servizio Kubernetes gestito che semplifica il deployment e la gestione delle applicazioni containerizzate. Utilizzando GKE Con Spanner, puoi sfruttare la scalabilità, affidabilità, sicurezza e alta disponibilità a livello di applicazione e il livello del database.
Il tuo cluster GKE può accedere all'API Spanner tramite Federazione delle identità dei carichi di lavoro per GKE. La federazione delle identità per i carichi di lavoro per GKE consente a un account di servizio Kubernetes nel tuo cluster di agire come account di servizio IAM. L'account di servizio IAM fornisce le credenziali predefinite per l'applicazione per i pod, in modo da non dover configurare ogni pod per utilizzare le tue credenziali utente personali.
Dopo aver configurato le applicazioni per l'autenticazione mediante la federazione delle identità per i carichi di lavoro per GKE, puoi utilizzare le librerie client di Spanner per eseguire query sui database Spanner. Puoi anche eseguire la migrazione dei tuoi ai pool di nodi GKE.
Per creare una connessione in un ambiente di esempio, prova la Connessione di Spanner con il codelab GKE Autopilot.
Abilita la federazione delle identità per i carichi di lavoro per GKE
Se non l'hai ancora fatto, abilita la federazione delle identità per i carichi di lavoro per GKE cluster GKE. Puoi abilitare la federazione delle identità per i carichi di lavoro per GKE su un nuovo un cluster creando un nuovo pool di nodi In alternativa, puoi abilitare la federazione delle identità per i carichi di lavoro per GKE su un pool di nodi esistente. I cluster GKE Autopilot hanno la federazione delle identità per i carichi di lavoro per GKE abilitata per impostazione predefinita. Per maggiori informazioni, consulta Abilitare Workload Identity Federation per GKE.
Autentica la connessione a Spanner con la federazione delle identità per i carichi di lavoro per GKE
Configura le tue applicazioni per autenticarle in Google Cloud utilizzando la federazione delle identità per i carichi di lavoro per GKE.
Assicurati che il pod GKE utilizzi un oggetto
ServiceAccount
di Kubernetes come descritto in Configurare autorizzazione e entità.Crea un criterio di autorizzazione IAM che conceda i necessari i ruoli IAM di Spanner per
ServiceAccount
oggetto. L'esempio seguente concede il database Spanner Ruolo utente (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
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del cluster GKE.PROJECT_NUMBER
: il valore numerico numero di progetto Google Cloud.NAMESPACE
: lo spazio dei nomi Kubernetes contiene il ServiceAccount.KSA_NAME
: il nome dell'account di servizio.
Connettere i database Spanner
Dopo aver autenticato il pod dell'applicazione, puoi utilizzare uno dei Librerie client di Spanner per eseguire una query sul database Spanner.
Passaggi successivi
- Scopri come eseguire il deployment della tua applicazione nel cluster GKE.
- Scopri come eseguire il deployment della tua applicazione utilizzando GKE Autopilot e Spanner.
- Scopri di più su come eseguire la migrazione dei carichi di lavoro esistenti a Workload Identity Federation per GKE.
- Scopri di più sulle best practice per SQL.
- Integra Spanner con altri ORM, tra cui Hibernate ORM, gorm e Django ORM.