Accéder aux zones avec vos outils

Ce document explique comment gérer les ressources dans plusieurs zones d'un univers Google Distributed Cloud (GDC) sous air gap. Chaque surface, qu'il s'agisse de la console GDC, de gdcloud CLI, des API ou de Terraform, fournit des mécanismes permettant de gérer correctement vos ressources dans une zone désignée pour les ressources zonales ou de manière globale pour les ressources compatibles avec le provisionnement global. Dans un univers multizonal, vous devez gérer vos ressources zonales et globales pour assurer une haute disponibilité.

Ce document s'adresse aux groupes d'utilisateurs suivants :

  • Administrateurs de plate-forme, tels que les administrateurs informatiques, qui sont responsables du développement des workflows de reprise après sinistre.
  • Opérateurs d'applications, tels que les développeurs d'applications, qui sont responsables du développement et de la maintenance des applications dans un univers GDC.

Pour en savoir plus, consultez la documentation sur les audiences pour GDC sous air gap.

Avant de commencer

Avant de gérer les ressources dans plusieurs zones, vous devez remplir les conditions préalables suivantes en fonction de la surface de votre choix :

Passer au contexte global

Pour gérer les ressources qui couvrent toutes les zones ou qui sont compatibles avec le provisionnement global, passez au contexte global.

Console

Le contexte global est défini en accédant à l'URL globale, qui suit cette syntaxe :

  https://console.ORG_NAME.SUFFIX

Accédez à l'URL globale pour obtenir une vue globale de vos ressources dans toutes les zones.

gdcloud

L'URL globale est définie avec le organization_console_url paramètre lors de l' initialisation de la configuration par défaut de gdcloud CLI. Le contexte global est supposé, sauf si vous avez explicitement défini un contexte zonal.

Pour revenir à l'URL globale, procédez comme suit :

  1. Définissez l'URL de la console de votre organisation par défaut sur l'URL globale :

    gdcloud config set core/organization_console_url GLOBAL_URL
    
  2. Connectez-vous au contexte global :

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

    Remplacez CA_CERT par le certificat d'autorité de certification (CA) installé dans le magasin de certificats approuvés du système. Pour en savoir plus, consultez la section Configuration des certificats TLS Web.

API

Vous devez définir explicitement le fichier kubeconfig pour le serveur d'API de gestion globale dans vos commandes kubectl lorsque vous gérez ou provisionnez des ressources personnalisées d'API KRM globales. Exemple :

  kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER

Vous pouvez définir automatiquement le contexte global pour vos appels d'API en définissant votre contexte kubectl sur le serveur d'API global. Pour en savoir plus, consultez la section Ressources du serveur d'API global.

Terraform

Vous devez définir explicitement le serveur d'API de gestion globale dans votre module Terraform et l'initialiser :

  1. Définissez le fichier kubeconfig pour le serveur d'API de gestion globale dans un fichier Terraform de votre module, tel que le fichier main.tf :

    provider "kubernetes" {
      config_path = "GLOBAL_API_SERVER"
    }
    

    Pour en savoir plus sur l'obtention du fichier kubeconfig du serveur d'API global, consultez la section Ressources du serveur d'API global.

  2. Appliquez le nouveau contexte global à votre module Terraform :

    terraform apply
    

Toutes les actions Terraform suivantes sont appelées dans le contexte global.

Passer à un contexte zonal

Pour gérer les ressources hébergées dans une zone particulière, passez à un contexte zonal.

Console

Le contexte zonal est défini en accédant à l'URL zonale, qui suit cette syntaxe :

  https://console.ORG_NAME.ZONE.SUFFIX

Accédez à l'URL zonale pour afficher les ressources hébergées dans la zone unique.

De nombreuses pages de ressources proposent également des sélecteurs de champ d'application de zone, qui vous permettent de basculer entre les contextes zonaux depuis la page de la console GDC.

Sélectionnez une zone pour afficher les ressources qui y sont présentes.

Sélectionnez votre contexte zonal à l'aide des mécanismes fournis pour afficher et gérer vos ressources zonales.

gdcloud

Étant donné que le contexte global est configuré par défaut lorsque vous utilisez gdcloud CLI, vous devez définir explicitement votre contexte zonal pour manipuler les ressources zonales. Vous pouvez effectuer cette action de l'une des trois manières suivantes, en fonction du workflow de votre choix :

Pour appliquer l'une de ces approches, procédez comme suit :

Définir la configuration de zone par défaut

  • Définissez la configuration de zone pour votre instance gdcloud CLI :

    gdcloud config set core/zone ZONE_NAME
    

    Remplacez ZONE_NAME par le nom de la zone à définir pour votre contexte. Pour en savoir plus, consultez la section Répertorier les zones d'un univers.

Définir la configuration de l'URL zonale

  1. Définissez l'URL de la console de votre organisation par défaut sur l'URL zonale :

      gdcloud config set core/organization_console_url ZONAL_URL
    
  2. Connectez-vous à la zone :

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

    Remplacez CA_CERT par le certificat d'autorité de certification (CA) installé dans le magasin de certificats approuvés du système. Pour en savoir plus, consultez la section Configuration des certificats TLS Web.

Appliquer l'option --zone

  • Exécutez votre commande gdcloud CLI avec l'option --zone incluse. Exemple :

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

    Vous pouvez définir l'option --zone pour n'importe quelle commande compatible. Pour vérifier si votre commande spécifique fournit l'option --zone, consultez la documentation de référence de gdcloud CLI.

    Vous pouvez utiliser l'option --zone à partir de n'importe quel contexte global ou zonal.

API

Vous devez définir explicitement le fichier kubeconfig pour le serveur d'API de gestion zonale dans vos commandes kubectl lorsque vous gérez ou provisionnez des ressources personnalisées d'API KRM zonales. Exemple :

  kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER

Vous pouvez définir automatiquement le contexte zonal pour vos appels d'API en définissant votre contexte kubectl sur le serveur d'API de gestion de la zone. Pour en savoir plus, consultez la section Ressources du serveur d'API de gestion zonale.

Terraform

Vous devez définir explicitement le serveur d'API de gestion zonale dans votre module Terraform et l'initialiser :

  1. Définissez le fichier kubeconfig pour le serveur d'API de gestion zonale dans un fichier Terraform de votre module, tel que le fichier main.tf :

    provider "kubernetes" {
      config_path = "ZONAL_API_SERVER"
    }
    

    Pour en savoir plus sur l'obtention du fichier kubeconfig du serveur d'API de gestion zonale, consultez la section Ressources du serveur d'API de gestion zonale.

  2. Appliquez le nouveau contexte global à votre module Terraform :

    terraform apply
    

Toutes les actions Terraform suivantes sont appelées dans le contexte de la zone que vous avez configurée.

Répertorier les zones d'un univers

Pour gérer les ressources zonales dans plusieurs zones, vous devez connaître toutes les zones disponibles dans votre univers.

  • Répertoriez toutes les zones de votre univers :

    gdcloud zones list
    

    La sortie ressemble à ceci :

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

Étape suivante