Limitazioni di Cloud Service Mesh con Envoy

Questo documento descrive le limitazioni che si applicano a Cloud Service Mesh con le API Google Cloud, incluse le limitazioni di gestione del traffico avanzate. Non si applica a Cloud Service Mesh con le API Istio.

Per informazioni sui limiti, consulta Quote e limiti.

Limitazioni generali

Le limitazioni di Cloud Service Mesh includono quanto segue:

  • Cloud Service Mesh con le API di routing dei servizi supporta solo le API Google Cloud.
  • Puoi utilizzare Cloud Service Mesh per configurare i seguenti protocolli di richiesta: HTTP (HTTP/1.1 o HTTP/2), HTTPS, TCP e gRPC.
  • Quando utilizzi Envoy come proxy del dataplane, il valore stream_idle_timeout è predefinito su 5 minuti. Questo non è configurabile tramite Cloud Service Mesh.
  • Quando utilizzi la risorsa TCPRoute per configurare il protocollo di richiesta TCP, non puoi utilizzare le funzionalità avanzate di gestione del traffico. La gestione avanzata del traffico è disponibile solo quando configuri il piano dati per gestire le richieste HTTP o gRPC.
  • Cloud Service Mesh supporta il peering di reti VPC con le API di routing dei servizi.
  • Cloud Service Mesh non supporta i protocolli server-first.
  • Non puoi utilizzare Cloud Service Mesh con i servizi in esecuzione in Knative o nel serverless computing di Google Cloud.
  • Questo documento illustra i proxy Envoy, ma puoi utilizzare qualsiasi proxy API standard aperto (xDS) con Cloud Service Mesh. Tuttavia, Google ha testato Cloud Service Mesh solo con il proxy Envoy.
  • Per assicurarti che tutte le vulnerabilità di sicurezza note siano mitigate, ti consigliamo di utilizzare la versione più recente di Envoy. Per informazioni sui consigli per la sicurezza di Envoy, consulta Consigli per la sicurezza di Envoy.
  • La console Google Cloud non supporta i gruppi di endpoint di rete (NEG) per la connettività ibrida. Per creare o eliminare NEG di connettività ibrida, utilizza Google Cloud CLI.
  • Poiché il piano dati gestisce i controlli di integrità, non puoi utilizzare la console Google Cloud, l'API o gcloud CLI per recuperare lo stato dei controlli di integrità.
  • Controlla iptables e assicurati che sia configurato correttamente. Per ulteriori informazioni su come configurare iptables, consulta le note di Envoy sulla configurazione del filtro HTTP.

    • Se utilizzi la console Google Cloud per creare istanze di macchine virtuali (VM), alcuni moduli correlati a ipv6 non sono installati e disponibili prima di un riavvio. Di conseguenza, iptables.sh non riesce a causa di dipendenze mancanti. In questo caso, riavvia la VM ed esegui di nuovo lo script run.sh.
    • Se utilizzi gcloud CLI per creare VM Compute Engine, non dovresti riscontrare questo problema.

Limitazioni della gestione avanzata del traffico

Le limitazioni della gestione avanzata del traffico includono quanto segue:

  • Se il valore di BackendService.sessionAffinity non è NONE e BackendService.localityLbPolicy è impostato su un criterio di bilanciamento del carico diverso da MAGLEV o RING_HASH, le impostazioni di affinità sessione non vengono applicate.
  • Il comando gcloud import non elimina i campi di primo livello della risorsa, come il servizio di backend e la mappa URL. Ad esempio, se viene creato un servizio di backend con impostazioni per circuitBreakers, puoi utilizzare un comando gcloud import successivo per aggiornarle. Tuttavia, non puoi eliminare queste impostazioni dal servizio di backend. Puoi eliminare e ricreare la risorsa stessa senza le impostazioni di circuitBreakers.

Limitazioni di Service Directory

  • Service Directory e Cloud Service Mesh non garantiscono la raggiungibilità della rete per i client.
  • Un servizio di backend può fare riferimento solo a uno dei seguenti elementi:

    • Gruppo di istanze gestite o gruppo di istanze non gestite
    • Gruppo di endpoint di rete
    • Associazioni dei servizi
  • I servizi Service Directory possono essere utilizzati solo con i servizi di backend globali con load-balancing-scheme=INTERNAL_SELF_MANAGED.

  • È possibile eliminare un servizio Service Directory a cui fa riferimento un'associazione di servizi. Se il servizio Service Directory di base a cui è collegato il servizio di backend viene eliminato, le applicazioni che utilizzano Cloud Service Mesh non possono inviare traffico a questo servizio, pertanto le richieste non vanno a buon fine. Per le best practice, consulta Osservabilità e debug.

  • Quando colleghi un servizio Service Directory a un servizio di backend, non puoi configurare un controllo di integrità su quel servizio di backend.

Passaggi successivi