Aceda a zonas com as suas ferramentas

Este documento explica como pode gerir recursos em várias zonas num universo isolado do Google Distributed Cloud (GDC). Cada superfície, seja a consola do GDC, a CLI gdcloud, as APIs ou o Terraform, oferece mecanismos para gerir adequadamente os seus recursos numa zona designada para recursos zonais ou globalmente para recursos compatíveis com o aprovisionamento global. Num universo com várias zonas, tem de gerir os seus recursos zonais e globais para garantir uma elevada disponibilidade.

Este documento destina-se aos seguintes grupos de públicos-alvo:

  • Administradores de plataformas, como administradores de TI, responsáveis pelo desenvolvimento de fluxos de trabalho de recuperação após desastre.
  • Operadores de aplicações, como programadores de aplicações, responsáveis pelo desenvolvimento e pela manutenção de aplicações num universo do GDC.

Para mais informações, consulte o artigo Públicos-alvo para a documentação do GDC isolado.

Antes de começar

Antes de gerir recursos em várias zonas, tem de concluir os seguintes pré-requisitos com base na sua superfície preferida:

Mude para o contexto global

Para gerir recursos que abrangem todas as zonas ou são compatíveis com o aprovisionamento global, mude para o contexto global.

Consola

O contexto global é definido através da navegação para o URL global, que segue esta sintaxe:

  https://console.ORG_NAME.SUFFIX

Navegue para o URL global para ter uma vista global dos seus recursos em todas as zonas.

gdcloud

O URL global é definido com o organization_console_url parâmetro ao inicializar a configuração predefinida da CLI gdcloud. O contexto global é assumido, a menos que tenha definido explicitamente um contexto zonal.

Para reverter para o URL global, conclua os seguintes passos:

  1. Defina o URL da consola da organização predefinido para o URL global:

    gdcloud config set core/organization_console_url GLOBAL_URL
    
  2. Inicie sessão no contexto global:

    gdcloud auth login --login-config-cert=CA_CERT
    

    Substitua CA_CERT pelo certificado da autoridade de certificação (CA) instalado na loja de certificados fidedignos do sistema. Para mais informações, consulte o artigo Configuração do certificado TLS da Web.

API

Tem de definir explicitamente o ficheiro kubeconfig para o servidor da API de gestão global nos comandos kubectl quando estiver a gerir ou a aprovisionar recursos personalizados da API KRM global. Por exemplo:

  kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER

Pode definir o contexto global para as chamadas à API automaticamente definindo o contexto kubectl para o servidor da API global. Para mais informações, consulte o artigo Recursos do servidor da API global.

Terraform

Tem de definir explicitamente o servidor da API de gestão global no módulo Terraform e inicializá-lo:

  1. Defina o ficheiro kubeconfig para o servidor da API de gestão global num ficheiro Terraform no módulo, como o ficheiro main.tf:

    provider "kubernetes" {
      config_path = "GLOBAL_API_SERVER"
    }
    

    Para mais informações sobre como obter o ficheiro kubeconfig do servidor da API global, consulte o artigo Recursos do servidor da API global.

  2. Aplique o novo contexto global ao módulo Terraform:

    terraform apply
    

Todas as ações do Terraform subsequentes são chamadas no contexto global.

Mude para um contexto zonal

Para gerir recursos alojados numa zona específica, mude para um contexto zonal.

Consola

O contexto zonal é definido através da navegação para o URL zonal, que segue esta sintaxe:

  https://console.ORG_NAME.ZONE.SUFFIX

Navegue para o URL zonal para ver os recursos alojados na zona única.

Muitas páginas de recursos também oferecem seletores de âmbito da zona, que lhe permitem alternar entre contextos zonais a partir da página da consola do GDC.

Selecione uma zona para apresentar os recursos presentes nessa zona específica.

Selecione o contexto zonal nos mecanismos fornecidos para ver e gerir os seus recursos zonais.

gdcloud

Uma vez que o contexto global é configurado predefinidamente quando usa a CLI gdcloud, tem de definir explicitamente o contexto zonal para manipular recursos zonais. Pode realizar esta ação de uma das três formas seguintes, consoante o fluxo de trabalho preferido:

Conclua os seguintes passos para aplicar uma destas abordagens:

Defina a configuração da zona predefinida

  • Defina a configuração da zona para a instância da CLI gdcloud:

    gdcloud config set core/zone ZONE_NAME
    

    Substitua ZONE_NAME pelo nome da zona a definir para o contexto. Para mais informações, consulte o artigo Liste as zonas num universo.

Defina a configuração do URL zonal

  1. Defina o URL da consola da organização predefinido para o URL zonal:

      gdcloud config set core/organization_console_url ZONAL_URL
    
  2. Inicie sessão na zona:

      gdcloud auth login --login-config-cert=CA_CERT
    

    Substitua CA_CERT pelo certificado da autoridade de certificação (CA) instalado na loja de certificados fidedignos do sistema. Para mais informações, consulte o artigo Configuração do certificado TLS da Web.

Aplique a opção --zone

  • Execute o comando da CLI gdcloud com a opção --zone incluída. Por exemplo:

    gdcloud auth print-identity-token --zone=ZONE_NAME
    

    Pode definir a opção --zone para qualquer comando compatível. Para verificar se o comando específico oferece a opção --zone, consulte a documentação de referência da CLI gdcloud.

    Pode usar a opção --zone a partir de qualquer contexto global ou zonal.

API

Tem de definir explicitamente o ficheiro kubeconfig para o servidor da API de gestão zonal nos comandos kubectl quando estiver a gerir ou a aprovisionar recursos personalizados da API KRM zonal. Por exemplo:

  kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER

Pode definir o contexto zonal para as chamadas à API automaticamente definindo o contexto kubectl para o servidor da API de gestão da zona. Para mais informações, consulte Recursos do servidor da API de gestão zonal.

Terraform

Tem de definir explicitamente o servidor da API de gestão zonal no módulo Terraform e inicializá-lo:

  1. Defina o ficheiro kubeconfig para o servidor da API de gestão zonal num ficheiro Terraform no módulo, como o ficheiro main.tf:

    provider "kubernetes" {
      config_path = "ZONAL_API_SERVER"
    }
    

    Para mais informações sobre como obter o ficheiro kubeconfig do servidor da API de gestão zonal, consulte Recursos do servidor da API de gestão zonal.

  2. Aplique o novo contexto global ao módulo Terraform:

    terraform apply
    

Todas as ações do Terraform subsequentes são chamadas no contexto da zona que configurou.

Liste as zonas num universo

Para gerir recursos zonais em várias zonas, tem de conhecer todas as zonas disponíveis no seu universo.

  • Liste todas as zonas no seu universo:

    gdcloud zones list
    

    O resultado tem um aspeto semelhante ao seguinte:

    METADATA.NAME
    us-east1-a
    us-east1-b
    us-east1-c
    

O que se segue?