Connettere Spanner a un cluster GKE

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.

  1. Assicurati che il pod GKE utilizzi un oggetto ServiceAccount di Kubernetes come descritto in Configurare autorizzazione e entità.

  2. 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