Dans un univers multizone, vous devez gérer vos ressources zonales et mondiales pour assurer une haute disponibilité. Chaque surface, qu'il s'agisse de la console GDC, de la CLI gdcloud, 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.
Ce document explique comment gérer les ressources dans plusieurs zones.
Passer au contexte global
Gérez vos ressources à l'échelle mondiale en passant au contexte global.
Console GDC
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 paramètre organization_console_url
lors de l'initialisation de la configuration par défaut de la CLI gdcloud.
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_URL
Connectez-vous au contexte global :
gdcloud auth login --login-config-cert=CA_CERT
Remplacez
CA_CERT
par le certificat de l'autorité de certification (CA) installé dans le magasin de certificats de confiance du système. Pour en savoir plus, consultez 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 de l'API KRM globale. Exemple :
kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER
Vous pouvez définir automatiquement le contexte global de vos appels d'API en définissant votre contexte kubectl sur le serveur d'API global. Pour en savoir plus, consultez Se connecter.
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 savoir comment obtenir le fichier kubeconfig du serveur d'API de gestion globale, consultez Se connecter.
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
Gérez les ressources d'une zone spécifique en passant à un contexte zonal.
Console GDC
Le contexte zonal est défini en accédant à l'URL zonale, qui suit la syntaxe suivante :
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 portée de zone, qui vous permettent de basculer entre les contextes zonaux depuis la page de la console GDC.
Sélectionnez votre contexte zonal à partir 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, selon votre workflow préféré :
- Définissez la configuration de zone par défaut : recommandé si vous travaillez principalement dans des contextes zonaux.
- Définissez la configuration des URL zonales : recommandé si vous prévoyez de basculer fréquemment entre les contextes globaux et zonaux.
- Appliquer l'indicateur
--zone
: recommandé si vous souhaitez appliquer directement un contexte zonal de manière flexible sans mettre à jour 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 la 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 savoir comment trouver le nom d'une zone, consultez Lister les zones d'un univers.
Définir la configuration des URL zonales
Définissez l'URL de la console d'organisation par défaut sur l'URL zonale :
gdcloud config set core/organization_console_url ZONAL_URL
Connectez-vous à la zone :
gdcloud auth login --login-config-cert=CA_CERT
Remplacez
CA_CERT
par le certificat de l'autorité de certification (CA) installé dans le magasin de certificats approuvés du système. Pour en savoir plus, consultez Configuration du certificat TLS Web.
Exécutez votre commande gdcloud CLI en incluant l'option
--zone
. Exemple :gdcloud auth print-identity-token --zone=ZONE_NAME
Vous pouvez définir l'option
--zone
pour n'importe quelle commande compatible. Consultez la documentation de référence de gcloud CLI pour votre commande spécifique afin de vérifier que l'option--zone
est disponible.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 de l'API KRM zonale. Exemple :
kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER
Vous pouvez définir automatiquement le contexte zonal de vos appels d'API en définissant le contexte kubectl sur le serveur d'API de gestion de la zone. Pour en savoir plus, consultez Se connecter.
Terraform
Vous devez définir explicitement le serveur de l'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 savoir comment obtenir le fichier kubeconfig du serveur d'API de gestion zonale, consultez Se connecter.
Appliquez le nouveau contexte global à votre module Terraform :
terraform apply
Toutes les actions Terraform ultérieures sont appelées dans le contexte de la zone que vous avez configurée.
Lister les zones d'un univers
Pour lister toutes les zones de votre univers, exécutez la commande suivante :
gdcloud zones list
La sortie ressemble à ceci :
METADATA.NAME
us-east1-a
us-east1-b
us-east1-c
Étapes suivantes
- Découvrez les serveurs d'API mondiaux 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 la gdcloud CLI pour obtenir la liste complète des commandes gdcloud CLI disponibles.
- Pour configurer Terraform, consultez la présentation de Terraform.