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) air-gapped. 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. Dans un univers multizone, vous devez gérer vos ressources zonales et globales pour la haute disponibilité.

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

  • Les administrateurs de plate-forme, tels que les administrateurs informatiques, qui sont chargés de développer 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 Audiences pour la documentation GDC sous air gap.

Avant de commencer

Avant de gérer des ressources dans plusieurs zones, vous devez remplir les conditions préalables suivantes en fonction de votre surface préférée :

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 GDC

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

  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 :

  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 de l'autorité de certification (CA) installé dans le magasin de certificats de confiance du système. Pour en savoir plus, consultez Configuration du certificat 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 Ressources du serveur d'API mondial.

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 savoir comment obtenir le fichier kubeconfig du serveur d'API global, consultez 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 spécifique, passez à 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 une seule zone.

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 une zone pour afficher les ressources qui y sont présentes.

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é :

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 en savoir plus, consultez Lister les zones d'un univers.

Définir la configuration des URL zonales

  1. Définissez l'URL par défaut de la console d'organisation 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 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.

Appliquer l'indicateur --zone

  • 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. Pour vérifier si votre commande spécifique fournit l'option --zone, consultez la documentation de référence de gcloud 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 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 Ressources du serveur d'API de gestion zonale.

Terraform

Vous devez définir explicitement le serveur de l'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 savoir comment obtenir le fichier kubeconfig du serveur d'API de gestion zonale, consultez Ressources du serveur d'API de gestion zonale.

  2. 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 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
    

Étapes suivantes