Gestire le risorse tra le zone

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:

  1. Imposta l'URL predefinito della console dell'organizzazione sull'URL globale:

    gdcloud config set core/organization_console_url GLOBAL_URL
    
  2. 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:

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

  2. 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 una zona per visualizzare le risorse presenti in quella specifica zona.

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:

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

  1. Imposta l'URL predefinito della console dell'organizzazione sull'URL zonale:

      gdcloud config set core/organization_console_url ZONAL_URL
    
  2. 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.

Applica il flag --zone

  • 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:

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

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