In un universo multizona, devi gestire le risorse globali e di zona per garantire l'alta disponibilità. Ogni superficie, che si tratti della console GDC, di gcloud CLI, delle API o di Terraform, fornisce meccanismi per gestire in modo appropriato le risorse in una zona designata per le risorse di zona o a livello globale per le risorse supportate per il provisioning globale.
Questo documento evidenzia i modi in cui puoi gestire le risorse in più zone.
Passare al contesto globale
Gestisci le tue risorse a livello globale passando al contesto globale.
Console GDC
Il contesto globale viene impostato accedendo all'URL globale, che segue questa sintassi:
https://console.ORG_NAME.SUFFIX
Vai all'URL globale per avere una visione globale delle tue risorse nelle zone.
gdcloud
L'URL globale viene impostato con il parametro organization_console_url
durante
l'inizializzazione della
configurazione predefinita di gcloud CLI.
Il contesto globale viene presupposto a meno che tu non abbia impostato esplicitamente un contesto di zona.
Per ripristinare l'URL globale, completa i seguenti passaggi:
Imposta l'URL predefinito della console dell'organizzazione sull'URL globale:
gdcloud config set core/organization_console_url GLOBAL_URL
Accedi al contesto globale:
gdcloud auth login --login-config-cert=CA_CERT
Sostituisci
CA_CERT
con il certificato dell'autorità di certificazione (CA) installato nell'archivio certificati attendibili del sistema. Per saperne di più, vedi Configurazione del certificato TLS web.
API
Devi definire esplicitamente il file kubeconfig per il server dell'API di gestione globale nei comandi kubectl quando gestisci o esegui il provisioning delle risorse personalizzate dell'API KRM globale. Ad esempio:
kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER
Puoi impostare automaticamente il contesto globale per le chiamate API impostando il contesto kubectl sul server API globale. Per i dettagli, consulta la sezione Accedere.
Terraform
Devi definire esplicitamente il server API di gestione globale nel modulo Terraform e inizializzarlo:
Definisci il file kubeconfig per il server API di gestione globale in un file Terraform all'interno del modulo, ad esempio il file
main.tf
:provider "kubernetes" { config_path = "GLOBAL_API_SERVER" }
Per informazioni dettagliate su come acquisire il file kubeconfig del server API di gestione globale, consulta la sezione Accedere.
Applica il nuovo contesto globale per il modulo Terraform:
terraform apply
Tutte le azioni Terraform successive vengono chiamate nel contesto globale.
Passare a un contesto zonale
Gestisci le risorse di una zona specifica passando a un contesto zonale.
Console GDC
Il contesto zonale viene impostato accedendo all'URL zonale, che segue questa sintassi:
https://console.ORG_NAME.ZONE.SUFFIX
Vai all'URL di zona per visualizzare le risorse ospitate all'interno della singola zona.
Molte pagine delle risorse offrono anche selettori di ambito di zona, che consentono di passare da un contesto zonale all'altro all'interno della pagina della console GDC.
Seleziona il contesto zonale dai meccanismi forniti per visualizzare e gestire le risorse zonali.
gdcloud
Poiché il contesto globale è configurato per impostazione predefinita quando utilizzi gcloud CLI, devi impostare esplicitamente il contesto di zona per manipolare le risorse di zona. Puoi eseguire questa azione in uno dei tre modi seguenti, a seconda del flusso di lavoro che preferisci:
- Imposta la configurazione della zona predefinita: consigliata se lavori principalmente in contesti di zona.
- Configura l'URL zonale: consigliato se prevedi di passare spesso dal contesto globale a quello zonale.
- Applica il flag
--zone
: Consigliato se vuoi la flessibilità di applicare direttamente un contesto di zona senza aggiornamenti della configurazione di gcloud CLI.
Per applicare uno di questi approcci, completa i seguenti passaggi:
Impostare la configurazione della zona predefinita
Imposta la configurazione della zona per l'istanza dell'interfaccia a riga di comando gcloud:
gdcloud config set core/zone ZONE_NAME
Sostituisci
ZONE_NAME
con il nome della zona da impostare per il contesto. Consulta Elencare le zone in un universo per istruzioni su come trovare il nome di una zona.
Impostare la configurazione dell'URL zonale
Imposta l'URL predefinito della console dell'organizzazione sull'URL zonale:
gdcloud config set core/organization_console_url ZONAL_URL
Accedi alla zona:
gdcloud auth login --login-config-cert=CA_CERT
Sostituisci
CA_CERT
con il certificato dell'autorità di certificazione (CA) installato nell'archivio dei certificati attendibili del sistema. Per maggiori informazioni, vedi Configurazione del certificato TLS web.
Esegui il comando gcloud CLI con il flag
--zone
incluso. Ad esempio:gdcloud auth print-identity-token --zone=ZONE_NAME
Puoi impostare il flag
--zone
per qualsiasi comando che lo supporta. Visualizza la documentazione di riferimento di gcloud CLI per il comando specifico per verificare che il flag--zone
sia disponibile.Puoi utilizzare il flag
--zone
da qualsiasi contesto globale o di zona.
API
Quando gestisci o esegui il provisioning delle risorse personalizzate dell'API KRM zonale, devi definire in modo esplicito il file kubeconfig per il server dell'API di gestione zonale nei comandi kubectl. Ad esempio:
kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER
Puoi impostare automaticamente il contesto di zona per le chiamate API impostando il contesto kubectl sul server API di gestione della zona. Per i dettagli, consulta la sezione Accedere.
Terraform
Devi definire esplicitamente il server API di gestione zonale nel modulo Terraform e inizializzarlo:
Definisci il file kubeconfig per il server API di gestione zonale in un file Terraform all'interno del modulo, ad esempio il file
main.tf
:provider "kubernetes" { config_path = "ZONAL_API_SERVER" }
Per informazioni dettagliate su come acquisire il file kubeconfig del server API di gestione zonale, consulta Accedere.
Applica il nuovo contesto globale per il modulo Terraform:
terraform apply
Tutte le azioni Terraform successive vengono chiamate nel contesto della zona che hai configurato.
Elenca le zone in un universo
Per elencare tutte le zone nel tuo universo, esegui:
gdcloud zones list
L'output è simile al seguente:
METADATA.NAME
us-east1-a
us-east1-b
us-east1-c
Passaggi successivi
- Scopri di più sui server API globali e di zona disponibili in un universo GDC.
- Consulta la Guida all'alta disponibilità per assicurarti che la tua applicazione sia resiliente ai guasti della zona locale.
- Visita le pagine di riferimento di gcloud CLI per un elenco completo dei comandi gcloud CLI disponibili.
- Per configurare Terraform, consulta la panoramica di Terraform.