Acessar zonas com suas ferramentas

Este documento mostra como gerenciar recursos em várias zonas em um universo isolado do Google Distributed Cloud (GDC). Cada plataforma, seja o console do GDC, a CLI gdcloud, as APIs ou o Terraform, oferece mecanismos para gerenciar adequadamente os recursos em uma zona designada para recursos zonais ou globalmente para recursos com suporte ao provisionamento global. Em um universo de várias zonas, é necessário gerenciar os recursos zonais e globais para alta disponibilidade.

Este documento é destinado aos seguintes grupos de público-alvo:

  • Administradores de plataforma, como administradores de TI, responsáveis por desenvolver fluxos de trabalho de recuperação de desastres.
  • Operadores de aplicativos, como desenvolvedores de aplicativos, responsáveis por desenvolver e manter aplicativos em um universo do GDC.

Para mais informações, consulte Públicos-alvo da documentação do GDC com isolamento físico.

Antes de começar

Antes de gerenciar recursos em várias zonas, conclua os seguintes pré-requisitos com base na plataforma preferida:

Mudar para o contexto global

Para gerenciar recursos que abrangem todas as zonas ou têm suporte para provisionamento global, mude para o contexto global.

Console

O contexto global é definido navegando até o URL global, que segue esta sintaxe:

  https://console.ORG_NAME.SUFFIX

Navegue até o URL global para ter uma visão global dos recursos em todas as zonas.

gdcloud

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

Para reverter para o URL global, siga estas etapas:

  1. Defina o URL do console da organização padrão como o URL global:

    gdcloud config set core/organization_console_url GLOBAL_URL
    
  2. Faça login no contexto global:

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

    Substitua CA_CERT pelo certificado da autoridade certificadora (CA) instalado no repositório de certificados confiáveis do sistema. Para mais informações, consulte Configuração do certificado TLS da Web.

API

É necessário definir explicitamente o arquivo kubeconfig para o servidor da API de gerenciamento global nos comandos kubectl ao gerenciar ou provisionar recursos personalizados da API KRM global. Exemplo:

  kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER

É possível definir o contexto global para chamadas de API automaticamente definindo o contexto kubectl para o servidor da API global. Para mais informações, consulte Recursos do servidor da API global.

Terraform

É necessário definir explicitamente o servidor da API de gerenciamento global no módulo do Terraform e inicializá-lo:

  1. Defina o arquivo kubeconfig para o servidor da API de gerenciamento global em um arquivo do Terraform no módulo, como o arquivo main.tf:

    provider "kubernetes" {
      config_path = "GLOBAL_API_SERVER"
    }
    

    Para mais informações sobre como acessar o arquivo kubeconfig do servidor da API global, consulte Recursos do servidor da API global.

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

    terraform apply
    

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

Mudar para um contexto zonal

Para gerenciar recursos hospedados em uma zona específica, mude para um contexto zonal.

Console

O contexto zonal é definido navegando até o URL zonal, que segue esta sintaxe:

  https://console.ORG_NAME.ZONE.SUFFIX

Navegue até o URL zonal para conferir os recursos hospedados na zona única.

Muitas páginas de recursos também oferecem seletores de escopo de zona, que permitem alternar entre contextos zonais na página do console do GDC.

Selecione uma zona para mostrar os recursos presentes nela.

Selecione o contexto zonal nos mecanismos fornecidos para visualizar e gerenciar os recursos zonais.

gdcloud

Como o contexto global é configurado por padrão ao usar a CLI gdcloud, é necessário definir explicitamente o contexto zonal para manipular recursos zonais. É possível realizar essa ação de uma das três maneiras a seguir, dependendo do fluxo de trabalho preferido:

Siga estas etapas para aplicar uma dessas abordagens:

Definir a configuração de zona padrão

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

    gdcloud config set core/zone ZONE_NAME
    

    Substitua ZONE_NAME pelo nome da zona a ser definida para o contexto. Para mais informações, consulte Listar zonas em um universo.

Definir a configuração do URL zonal

  1. Defina o URL do console da organização padrão como o URL zonal:

      gdcloud config set core/organization_console_url ZONAL_URL
    
  2. Faça login na zona:

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

    Substitua CA_CERT pelo certificado da autoridade certificadora (CA) instalado no repositório de certificados confiáveis do sistema. Para mais informações, consulte Configuração do certificado TLS da Web.

Aplicar a flag --zone

  • Execute o comando da CLI gdcloud com a flag --zone incluída. Exemplo:

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

    É possível definir a flag --zone para qualquer comando que a ofereça. Para verificar se o comando específico fornece a flag --zone, consulte a documentação de referência da CLI gdcloud.

    É possível usar a flag --zone em qualquer contexto global ou zonal.

API

É necessário definir explicitamente o arquivo kubeconfig para o servidor da API de gerenciamento zonal nos comandos kubectl ao gerenciar ou provisionar recursos personalizados da API KRM zonal. Exemplo:

  kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER

É possível definir o contexto zonal para chamadas de API automaticamente definindo o contexto kubectl para o servidor da API de gerenciamento da zona. Para mais informações, consulte Recursos do servidor da API de gerenciamento zonal.

Terraform

É necessário definir explicitamente o servidor da API de gerenciamento zonal no módulo do Terraform e inicializá-lo:

  1. Defina o arquivo kubeconfig para o servidor da API de gerenciamento zonal em um arquivo do Terraform no módulo, como o arquivo main.tf:

    provider "kubernetes" {
      config_path = "ZONAL_API_SERVER"
    }
    

    Para mais informações sobre como acessar o arquivo kubeconfig do servidor da API de gerenciamento zonal, consulte Recursos do servidor da API de gerenciamento zonal.

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

    terraform apply
    

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

Listar zonas em um universo

Para gerenciar recursos zonais em várias zonas, é necessário conhecer todas as zonas disponíveis no universo.

  • Liste todas as zonas no universo:

    gdcloud zones list
    

    A saída será assim:

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

A seguir