Em um universo multizonal, é necessário gerenciar os recursos zonais e globais para alta disponibilidade. 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 compatíveis com provisionamento global.
Neste documento, destacamos as maneiras de gerenciar recursos em várias zonas.
Mudar para o contexto global
Gerencie seus recursos globalmente mudando para o contexto global.
Console do GDC
O contexto global é definido navegando até o URL global, que segue esta sintaxe:
https://console.ORG_NAME.SUFFIX
Acesse o URL global para ter uma visão global dos seus 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 definido um contexto zonal explicitamente.
Para reverter para o URL global, siga estas etapas:
Defina o URL padrão do console da organização como o URL global:
gdcloud config set core/organization_console_url GLOBAL_URL
Faça login no contexto global:
gdcloud auth login --login-config-cert=CA_CERT
Substitua
CA_CERT
pelo certificado da autoridade de certificação (CA) instalado no repositório de certificados confiáveis do sistema. Para mais informações, consulte Configuração de certificado TLS da Web.
API
Você precisa 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 globais. Exemplo:
kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER
É possível definir o contexto global para suas chamadas de API automaticamente definindo o contexto do kubectl para o servidor global da API. Consulte Fazer login para mais detalhes.
Terraform
É preciso definir explicitamente o servidor da API de gerenciamento global no módulo do Terraform e inicializá-lo:
Defina o arquivo kubeconfig para o servidor da API de gerenciamento global em um arquivo do Terraform no seu módulo, como o arquivo
main.tf
:provider "kubernetes" { config_path = "GLOBAL_API_SERVER" }
Consulte Fazer login para saber como adquirir o arquivo kubeconfig do servidor da API de gerenciamento global.
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
Gerencie os recursos de uma zona específica mudando para um contexto zonal.
Console do GDC
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 única zona.
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 seu contexto zonal nos mecanismos fornecidos para visualizar e gerenciar seus 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. Você pode realizar essa ação de uma das três maneiras a seguir, dependendo do seu fluxo de trabalho preferido:
- Defina a configuração de zona padrão: recomendado se você trabalha principalmente em contextos zonais.
- Defina a configuração de URL zonal: recomendada se você planeja alternar com frequência entre contextos globais e zonais.
- Aplicar a flag
--zone
: recomendado se você quiser flexibilidade para aplicar diretamente um contexto zonal sem atualizações de configuração da CLI gdcloud.
Siga estas etapas para aplicar uma dessas abordagens:
Definir a configuração de zona padrão
Defina a configuração de zona para sua instância da CLI gdcloud:
gdcloud config set core/zone ZONE_NAME
Substitua
ZONE_NAME
pelo nome da zona a ser definida para seu contexto. Consulte Listar zonas em um universo para instruções sobre como encontrar um nome de zona.
Definir a configuração de URL zonal
Defina o URL padrão do console da organização como o URL zonal:
gdcloud config set core/organization_console_url ZONAL_URL
Faça login na zona:
gdcloud auth login --login-config-cert=CA_CERT
Substitua
CA_CERT
pelo certificado da autoridade de certificação (CA) instalado no repositório de certificados confiáveis do sistema. Para mais informações, consulte Configuração de certificado TLS da Web.
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 aceite. Consulte a documentação de referência da CLI gdcloud para seu comando específico e confirme se a flag--zone
está disponível.É 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 zonais. Exemplo:
kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER
É possível definir o contexto zonal para suas chamadas de API automaticamente definindo o contexto do kubectl para o servidor da API de gerenciamento da zona. Consulte Fazer login para mais detalhes.
Terraform
É preciso definir explicitamente o servidor da API de gerenciamento zonal no módulo do Terraform e inicializá-lo:
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" }
Consulte Fazer login para saber como adquirir o arquivo kubeconfig do servidor da API de gerenciamento zonal.
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 que você configurou.
Listar zonas em um universo
Para listar todas as zonas no seu universo, execute:
gdcloud zones list
A saída será assim:
METADATA.NAME
us-east1-a
us-east1-b
us-east1-c
A seguir
- Saiba mais sobre os servidores de API globais e zonais disponíveis em um universo do GDC.
- Confira o guia de alta disponibilidade para garantir que seu aplicativo seja resiliente a falhas na zona local.
- Acesse as páginas de referência da CLI gdcloud para conferir uma lista completa dos comandos disponíveis.
- Para configurar o Terraform, consulte a visão geral do Terraform.