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 :
- Pour utiliser Distributed Cloud CLI, installez gdcloud CLI.
- Pour déployer des ressources personnalisées d'API zonales et globales,
installez le composant
kubectl. - Pour utiliser Terraform, configurez le fournisseur Terraform Kubernetes.
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 :
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_URLConnectez-vous au contexte global :
gdcloud auth login --login-config-cert=CA_CERTRemplacez
CA_CERTpar 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 :
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.
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 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 :
- Définir la configuration de zone par défaut : recommandé si vous travaillez principalement dans des contextes zonaux.
- Définir la configuration de l'URL zonale : recommandé si vous prévoyez de basculer fréquemment entre les contextes global et zonal.
- Appliquer l'option
--zone: recommandé si vous souhaitez appliquer directement un contexte zonal sans aucune mise à jour de la configuration de gdcloud CLI.
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_NAMERemplacez
ZONE_NAMEpar 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
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_URLConnectez-vous à la zone :
gdcloud auth login --login-config-cert=CA_CERTRemplacez
CA_CERTpar 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.
Exécutez votre commande gdcloud CLI avec l'option
--zoneincluse. Exemple :gdcloud auth print-identity-token --zone=ZONE_NAMEVous pouvez définir l'option
--zonepour 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 :
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.
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 listLa sortie ressemble à ceci :
METADATA.NAME us-east1-a us-east1-b us-east1-c
Étape suivante
- Découvrez les serveurs d'API globaux et zonaux disponibles dans un univers GDC.
- Consultez le guide sur la haute disponibilité pour vous assurer que votre application est résiliente aux défaillances de zone locale.
- Consultez les pages de référence de gdcloud CLI pour obtenir la liste complète des commandes gdcloud CLI disponibles.
- Pour configurer Terraform, consultez la présentation de Terraform.