Configurer les attributs d'amorçage Envoy

Lorsque les proxys Envoy et les bibliothèques gRPC qui alimentent votre maillage de services s'initialisent, ils doivent se connecter à Cloud Service Mesh et devenir des clients Cloud Service Mesh. Pour établir cette connexion, un client doit être amorcé avec des informations de configuration, par exemple :

  • Où trouver Cloud Service Mesh (trafficdirector.googleapis.com)
  • Nom du réseau VPC pour lequel le client doit demander la configuration
  • Autres informations facultatives, comme le fait d'activer ou non la journalisation

Ce document explique comment fournir des informations d'amorçage lorsque vous utilisez Envoy avec Cloud Service Mesh. La méthode que vous utilisez pour fournir la configuration d'amorçage dépend de la manière dont vous déployez vos services :

  • Pour les proxys side-car Envoy déployés automatiquement avec des VM, consultez la section Options de configuration des VM avec déploiement Envoy automatisé pour connaître les paramètres équivalents lorsque vous créez un modèle d'instance.
  • Pour les proxys side-car Envoy déployés automatiquement avec des pods GKE, ajoutez les paramètres compatibles ci-dessous à la section proxyMetadata dans le fichier ConfigMap de l'injecteur side-car. Pour en savoir plus sur la configuration des attributs requis, consultez la page Configurer les pods Google Kubernetes Engine avec injection Envoy automatisée.
  • Pour les déploiements Envoy manuels, ajoutez les paramètres acceptés ci-dessous à la configuration des métadonnées de nœud d'amorçage du proxy.

Configuration d'amorçage requise pour les déploiements manuels Envoy

Le tableau suivant contient tous les attributs de configuration d'amorçage requis.

Attribut Valeur Description
TRAFFICDIRECTOR_NETWORK_NAME Chaîne. Par exemple : default.

Nom du réseau VPC Google Cloud pour lequel la configuration est demandée (il s'agit du nom du réseau VPC référencé dans la règle de transfert de l'API Google Cloud).

  • Lorsque vous utilisez l'API xDS v2, nous vous recommandons de définir le nom du réseau. Si cette valeur n'est pas renseignée, Cloud Service Mesh tente de sélectionner la configuration du réseau VPC via lequel la requête du proxy side-car à traficdirector.googleapis.com est envoyée.
  • Lorsque vous utilisez l'API xDS v3, vous devez indiquer le nom du réseau.
  • Il n'est pas recommandé de laisser cette valeur vide. Il n'est pas garanti qu'une valeur vide soit acceptée dans les prochaines versions.

    TRAFFICDIRECTOR_GCP_PROJECT_NUMBER Chaîne de chiffres. Par exemple, 123456789. Projet Google Cloud dans lequel les ressources Cloud Service Mesh sont configurées. Il s'agit de l'identifiant numérique de votre projet (par exemple, 111222333444).

    Pour obtenir la liste de tous vos projets et les numéros de projet leur correspondant, utilisez la commande gcloud "projects list" ou consultez la section Informations sur le projet de Google Cloud Console.

  • Si vous utilisez l'API xDS v2, nous vous recommandons de définir le numéro du projet. Si vous laissez le champ vide, Cloud Service Mesh tente de récupérer la configuration du projet Google Cloud associé aux identifiants du compte de service. Il n'est pas garanti qu'une valeur vide soit acceptée dans les prochaines versions.
  • Lorsque vous utilisez l'API xDS v3, vous devez indiquer le numéro du projet.
  • Configuration d'amorçage facultative pour les déploiements Envoy manuels

    Le tableau suivant contient tous les attributs de configuration d'amorçage facultatifs.

    Attribut Valeur Description
    TRAFFICDIRECTOR_INTERCEPTION_PORT Un entier compris entre 0 et 65535

    Numéro de port de l'écouteur d'interception. Le trafic destiné aux services configurés dans Cloud Service Mesh doit être redirigé vers ce port.

    Si cette valeur n'est pas renseignée, l'écouteur d'interception n'est pas configuré par Cloud Service Mesh. Si votre configuration dépend de l'interception du trafic sortant, l'absence de l'écouteur d'interception interrompt le flux du trafic. Ce champ n'est pas obligatoire dans les cas d'utilisation de proxy intermédiaire où seul le trafic entrant doit être intercepté.

    TRAFFICDIRECTOR_ACCESS_LOG_PATH Chemin d'accès au fichier journal d'accès, représenté sous forme de chaîne. Par exemple : "/var/log/sidecar/access.log" La valeur de ce paramètre est utilisée pour la configuration du journal d'accès aux fichiers, envoyé à un proxy par Cloud Service Mesh avec d'autres paramètres. Toutes les requêtes entrantes et sortantes sont enregistrées dans ce fichier. Pour en savoir plus, consultez la documentation sur le journal d'accès aux fichiers du proxy Envoy.
    TRAFFICDIRECTOR_ENABLE_TRACING Valeur booléenne, représentée par une chaîne. Exemple : true Permet au proxy side-car de générer des informations de traçage distribuées. Si la valeur est true, les paramètres de traçage Envoy sont programmés dans le proxy side-car par Cloud Service Mesh et la valeur generate_request_id est définie sur "true".

    L'exemple suivant, au format yaml, montre comment configurer les attributs acceptés dans la section des métadonnées de nœud de la configuration de démarrage du proxy Envoy :

    node:
      metadata:
        TRAFFICDIRECTOR_INTERCEPTION_PORT: "15001"
        TRAFFICDIRECTOR_NETWORK_NAME: "default"
        TRAFFICDIRECTOR_GCP_PROJECT_NUMBER: "111222333444"
        TRAFFICDIRECTOR_ACCESS_LOG_PATH: "/tmp/sidecar/access.log"
        TRAFFICDIRECTOR_ENABLE_TRACING: "true"