Gestionar recursos en varias zonas

En este documento se explica cómo puedes gestionar recursos en varias zonas de un universo aislado de Google Distributed Cloud (GDC). Cada superficie, ya sea la consola de GDC, la CLI de gdcloud, las APIs o Terraform, proporciona mecanismos para gestionar adecuadamente tus recursos en una zona designada para los recursos zonales o de forma global para los recursos compatibles con el aprovisionamiento global. En un universo multizona, debes gestionar tus recursos zonales y globales para disfrutar de alta disponibilidad.

Este documento está dirigido a los administradores de TI del grupo de administradores de la plataforma, que se encargan de desarrollar flujos de trabajo de recuperación tras desastres, y a los desarrolladores de aplicaciones del grupo de operadores de aplicaciones, que se encargan de desarrollar y mantener aplicaciones en un universo de GDC.

Para obtener más información, consulta Audiencias de la documentación aislada de GDC.

Cambiar al contexto global

Gestiona tus recursos a nivel global cambiando al contexto global.

Consola de GDC

El contexto global se define al acceder a la URL global, que sigue esta sintaxis:

  https://console.ORG_NAME.SUFFIX

Ve a la URL global para ver todos tus recursos en todas las zonas.

gdcloud

La URL global se define con el parámetro organization_console_url al inicializar la configuración predeterminada de la CLI de gdcloud. Se presupone el contexto global a menos que hayas definido explícitamente un contexto zonal.

Para volver a la URL global, sigue estos pasos:

  1. Define la URL predeterminada de la consola de organización como la URL global:

    gdcloud config set core/organization_console_url GLOBAL_URL
    
  2. Inicia sesión en el contexto global:

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

    Sustituye CA_CERT por el certificado de la autoridad de certificación (CA) instalado en el almacén de certificados de confianza del sistema. Para obtener más información, consulta Configuración de certificados TLS web.

API

Debes definir explícitamente el archivo kubeconfig del servidor de la API de gestión global en tus comandos kubectl al gestionar o aprovisionar recursos personalizados de la API de KRM global. Por ejemplo:

  kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER

Puedes definir el contexto global de tus llamadas a la API automáticamente configurando tu contexto de kubectl en el servidor de la API global. Consulta más información en Iniciar sesión.

Terraform

Debes definir explícitamente el servidor de la API de gestión global en tu módulo de Terraform e inicializarlo:

  1. Define el archivo kubeconfig del servidor de la API de gestión global en un archivo de Terraform de tu módulo, como el archivo main.tf:

    provider "kubernetes" {
      config_path = "GLOBAL_API_SERVER"
    }
    

    Consulta Iniciar sesión para obtener información sobre cómo conseguir el archivo kubeconfig del servidor de la API de gestión global.

  2. Aplica el nuevo contexto global a tu módulo de Terraform:

    terraform apply
    

Todas las acciones posteriores de Terraform se llaman en el contexto global.

Cambiar a un contexto zonal

Gestiona los recursos de una zona concreta cambiando a un contexto zonal.

Consola de GDC

El contexto de zona se define al acceder a la URL de la zona, que sigue esta sintaxis:

  https://console.ORG_NAME.ZONE.SUFFIX

Ve a la URL de la zona para ver los recursos alojados en la zona.

Muchas páginas de recursos también ofrecen selectores de ámbito de zona, que te permiten cambiar entre contextos zonales desde la página de la consola de GDC.

Selecciona una zona para ver los recursos que hay en ella.

Selecciona el contexto de tu zona en los mecanismos proporcionados para ver y gestionar tus recursos zonales.

gdcloud

Como el contexto global se configura de forma predeterminada al usar la CLI de gdcloud, debes definir explícitamente el contexto de zona para manipular los recursos zonales. Puedes realizar esta acción de tres formas diferentes, en función del flujo de trabajo que prefieras:

Sigue estos pasos para aplicar uno de estos métodos:

Definir la configuración de zona predeterminada

  • Define la configuración de la zona de tu instancia de la CLI de gdcloud:

    gdcloud config set core/zone ZONE_NAME
    

    Sustituye ZONE_NAME por el nombre de la zona que quieras definir en tu contexto. Consulta Listar zonas de un universo para obtener instrucciones sobre cómo encontrar el nombre de una zona.

Configurar la URL zonal

  1. Define la URL predeterminada de la consola de tu organización como la URL zonal:

      gdcloud config set core/organization_console_url ZONAL_URL
    
  2. Inicia sesión en la zona:

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

    Sustituye CA_CERT por el certificado de la autoridad de certificación (CA) instalado en el almacén de certificados de confianza del sistema. Para obtener más información, consulta el artículo Configuración de certificados TLS web.

Aplica la marca --zone

  • Ejecuta el comando de la interfaz de línea de comandos de gdcloud con la marca --zone incluida. Por ejemplo:

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

    Puedes definir la marca --zone en cualquier comando que la admita. Consulta la documentación de referencia de la CLI de gdcloud para ver si la marca --zone está disponible en el comando que quieres usar.

    Puedes usar la marca --zone desde cualquier contexto global o zonal.

API

Debes definir explícitamente el archivo kubeconfig del servidor de la API de gestión zonal en tus comandos kubectl al gestionar o aprovisionar recursos personalizados de la API KRM zonal. Por ejemplo:

  kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER

Puedes definir el contexto de zona de tus llamadas a la API automáticamente configurando tu contexto de kubectl en el servidor de la API de gestión de la zona. Consulta más información en Iniciar sesión.

Terraform

Debes definir explícitamente el servidor de la API de gestión zonal en tu módulo de Terraform e inicializarlo:

  1. Define el archivo kubeconfig del servidor de la API de gestión zonal en un archivo de Terraform de tu módulo, como el archivo main.tf:

    provider "kubernetes" {
      config_path = "ZONAL_API_SERVER"
    }
    

    Consulta Iniciar sesión para obtener información sobre cómo conseguir el archivo kubeconfig del servidor de la API de gestión zonal.

  2. Aplica el nuevo contexto global a tu módulo de Terraform:

    terraform apply
    

Todas las acciones posteriores de Terraform se llaman en el contexto de la zona que hayas configurado.

Mostrar zonas de un universo

Para ver todas las zonas de tu universo, ejecuta el siguiente comando:

  gdcloud zones list

El resultado es similar al siguiente:

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

Siguientes pasos