Limites de Cloud Service Mesh avec Envoy

Ce document décrit les limites qui s'appliquent à Cloud Service Mesh avec les API Google Cloud, y compris celles concernant la gestion avancée du trafic. Il ne s'applique pas à Cloud Service Mesh avec les API Istio.

Pour en savoir plus sur les limites, consultez la page Quotas et limites.

Limites générales

Voici les limites de Cloud Service Mesh:

  • Cloud Service Mesh avec les API de routage de services n'est compatible qu'avec les API Google Cloud.
  • Vous pouvez utiliser Cloud Service Mesh pour configurer les protocoles de requête suivants: HTTP (HTTP/1.1 ou HTTP/2), HTTPS, TCP et gRPC.
  • Lorsque vous utilisez Envoy en tant que proxy de plan de données, la valeur stream_idle_timeout est définie par défaut sur 5 minutes. Ce paramètre n'est pas configurable via Cloud Service Mesh.
  • Lorsque vous utilisez la ressource TCPRoute pour configurer le protocole de requête TCP, vous ne pouvez pas utiliser les fonctionnalités avancées de gestion du trafic. La gestion avancée du trafic n'est disponible que lorsque vous configurez le plan de données pour gérer les requêtes HTTP ou gRPC.
  • Cloud Service Mesh est compatible avec l'appairage de réseaux VPC avec les API de routage de services.
  • Cloud Service Mesh n'est pas compatible avec les protocoles orientés serveur.
  • Vous ne pouvez pas utiliser Cloud Service Mesh avec des services s'exécutant dans Knative ou dans l'informatique sans serveur Google Cloud.
  • Ce document présente les proxys Envoy, mais vous pouvez utiliser n'importe quel proxy d'API standard Open Source (xDS) avec Cloud Service Mesh. Toutefois, Google n'a testé Cloud Service Mesh qu'avec le proxy Envoy.
  • Pour vous assurer que toutes les failles de sécurité connues sont atténuées, nous vous recommandons d'utiliser la dernière version d'Envoy. Pour plus d'informations sur les conseils de sécurité Envoy, consultez la page Conseils de sécurité Envoy.
  • Google Cloud Console n'est pas compatible avec les groupes de points de terminaison du réseau (NEG) de connectivité hybride. Pour créer ou supprimer des NEG de connectivité hybride, utilisez Google Cloud CLI.
  • Étant donné que votre plan de données gère les vérifications d'état, vous ne pouvez pas utiliser la console Google Cloud, l'API ou gcloud CLI pour récupérer l'état de cette vérification.
  • Vérifiez que iptables est correctement configuré. Pour en savoir plus sur la configuration de iptables, consultez les notes d'Envoy sur la configuration du filtrage HTTP.

    • Si vous utilisez la console Google Cloud pour créer des instances de machines virtuelles (VM), certains modules associés à ipv6 ne sont pas installés et disponibles avant un redémarrage. Par conséquent, iptables.sh échoue en raison de dépendances manquantes. Dans ce cas, redémarrez la VM et réexécutez le script run.sh.
    • Si vous utilisez gcloud CLI pour créer des VM Compute Engine, ce problème ne devrait pas se produire.

Limites de la gestion du trafic avancée

La gestion avancée du trafic comprend les limites suivantes:

  • Si la valeur de BackendService.sessionAffinity n'est pas NONE et que BackendService.localityLbPolicy est défini sur une règle d'équilibrage de charge autre que MAGLEV ou RING_HASH, les paramètres d'affinité de session ne prennent pas effet.
  • La commande gcloud import ne supprime pas les champs de premier niveau de la ressource, tels que le service de backend et le mappage d'URL. Par exemple, si un service de backend est créé avec des paramètres pour circuitBreakers, vous pouvez exécuter une commande gcloud import ultérieure pour mettre à jour ces paramètres. Toutefois, vous ne pouvez pas supprimer ces paramètres du service de backend. Vous pouvez supprimer et recréer la ressource sans les paramètres circuitBreakers.

Limites avec l'Annuaire des services

  • L'Annuaire des services et Cloud Service Mesh ne garantissent pas la joignabilité du réseau des clients.
  • Un service de backend ne peut faire référence qu'à l'un des éléments suivants :

    • Groupe d'instances géré ou groupe d'instances non géré
    • Groupe de points de terminaison du réseau
    • Liaisons de service
  • Les services de l'Annuaire des services ne peuvent être utilisés qu'avec des services de backend globaux avec load-balancing-scheme=INTERNAL_SELF_MANAGED.

  • Un service de l'Annuaire des services référencé par une liaison de service peut être supprimé. Si le service sous-jacent de l'Annuaire des services auquel le service de backend est associé est supprimé, les applications qui utilisent Cloud Service Mesh ne peuvent pas envoyer de trafic à ce service. Par conséquent, les requêtes échouent. Consultez la page Observabilité et débogage pour connaître les bonnes pratiques.

  • Lorsque vous liez un service d'Annuaire des services à un service de backend, vous ne pouvez pas configurer de vérification de l'état sur ce service.

Étapes suivantes

  • Pour en savoir plus sur les limites qui s'appliquent à Cloud Service Mesh avec des applications gRPC sans proxy, consultez la page Limites de gRPC sans proxy.