Funzionalità supportate mediante le API Istio (control plane gestito)

In questa pagina vengono descritte le funzionalità e le limitazioni supportate per Cloud Service Mesh utilizzando TRAFFIC_DIRECTOR o ISTIOD come piano di controllo e differenze tra le singole implementazioni. Tieni presente che non si tratta di opzioni tra cui scegliere. L'implementazione di ISTIOD è disponibile solo per gli utenti esistenti. Le nuove installazioni utilizzano l'implementazione TRAFFIC_DIRECTOR, se possibile.

Per l'elenco delle funzionalità supportate da Cloud Service Mesh per un piano di controllo in cluster, consulta Utilizzo delle API Istio (piano di controllo istiod in cluster). Se non sai con certezza quale piano di controllo di Cloud Service Mesh stai utilizzando, puoi verificare l'implementazione del piano di controllo utilizzando le istruzioni riportate in Identificare l'implementazione del piano di controllo

Limitazioni

Si applicano le seguenti limitazioni:

  • I cluster GKE devono trovarsi in una delle regioni supportate.
  • La versione GKE deve essere una versione supportata.
  • Sono supportate solo le piattaforme elencate in Ambienti.
  • La modifica dei canali di rilascio non è supportata.
  • Migrazioni da Cloud Service Mesh gestito con asmcli a Cloud Service Mesh con API del parco risorse non sono supportati. Allo stesso modo, il provisioning di Cloud Service Mesh gestito con l'API del parco risorse da --management manual a --management automatic non è supportato.
  • Le migrazioni e gli upgrade sono supportati solo dalle versioni 1.9 e successive di Cloud Service Mesh all'interno del cluster installate con Mesh CA. Le installazioni con la CA Istio (in precedenza conosciuta come Citadel) devono prima essere sottoposte a migrazione alla CA Mesh.
  • La scalabilità è limitata a 1000 servizi e 5000 carichi di lavoro per cluster.
  • È supportata solo l'opzione di deployment multi-principale per il multi-cluster: l'opzione di deployment principale-remota per il multi-cluster non è supportata.
  • istioctl ps non è supportato. Puoi utilizzare invece gcloud beta container fleet mesh debug come descritto in Risoluzione dei problemi.
  • API non supportate:

    • EnvoyFilter API

    • WasmPlugin API

    • IstioOperator API

    • Kubernetes Ingress API

  • Puoi usare il piano di controllo gestito senza un abbonamento a GKE Enterprise, ma alcuni elementi UI e funzionalità della console Google Cloud sono disponibili agli abbonati a GKE Enterprise. Per informazioni sui contenuti disponibili agli iscritti e ai non iscritti, consulta Differenze tra le UI di GKE Enterprise e Cloud Service Mesh.

  • Durante la procedura di provisioning di un piano di controllo gestito, le CRD Istio corrispondenti al canale selezionato vengono installate nel cluster specificato. Se nel cluster sono presenti CRD Istio, verranno sovrascritti.

  • Managed Cloud Service Mesh supporta solo il dominio DNS predefinito .cluster.local.

  • A partire dal 14 novembre 2023, le nuove installazioni di Cloud Service Mesh gestito nel canale di rilascio rapido recuperano i JWKS solo utilizzando Envoy. Equivale a l'opzione Istio PILOT_JWT_ENABLE_REMOTE_JWKS=envoy. Rispetto alle installazioni su i canali di rilascio regolari e stabili o installazioni sul di rilascio rapido prima del 14 novembre 2023, potresti aver bisogno di altre Configurazioni ServiceEntry e DestinationRule. Per un esempio, consulta requestauthn-with-se.yaml.tmpl.

Differenze nel piano di controllo

Ci sono differenze nelle funzionalità supportate tra ISTIOD e TRAFFIC_DIRECTOR le implementazioni del piano di controllo. Per verificare quale implementazione stai utilizzando, consulta Identificare l'implementazione del control plane.

  • : indica che la funzione è disponibile e sono abilitate per impostazione predefinita.
  • †: indica che le API di funzionalità possono avere differenze tra le varie piattaforme.
  • *: indica che la funzionalità è supportata per dalla piattaforma e possono essere abilitate, come descritto in Attivare le funzionalità facoltative o la guida alle funzionalità tramite il link nella tabella delle funzionalità.
  • §: indica che la funzionalità è supportate dalla lista consentita. Gli utenti precedenti di Anthos Service Mesh gestito vengono inseriti automaticamente nella lista consentita a livello di organizzazione. Contatta l'assistenza Google Cloud per richiedere l'accesso o controllare lo stato della lista consentita.
  • : indica che la funzionalità non è disponibile o non è supportato.

Le funzionalità predefinite e facoltative sono completamente supportate dall'assistenza Google Cloud. Le funzionalità non elencate esplicitamente nelle tabelle ricevono assistenza secondo il criterio del massimo impegno.

Cosa determina l'implementazione del piano di controllo

Quando esegui il provisioning di Cloud Service Mesh gestito per la prima volta in un parco risorse, noi determiniamo quale implementazione del piano di controllo utilizzare. Viene utilizzata la stessa implementazione per tutti i cluster che eseguono il provisioning di Cloud Service Mesh gestito nel parco risorse.

I nuovi parchi di veicoli che vengono integrati in Cloud Service Mesh gestito ricevono l'implementazione del piano di controllo TRAFFIC_DIRECTOR, con alcune eccezioni:

  • Se sei già un utente di Cloud Service Mesh gestito, riceverai l'implementazione del ISTIOD control plane quando esegui l'onboarding di un nuovo parco nello stesso Organizzazione Google Cloud in Cloud Service Mesh gestito, fino ad almeno il 30 giugno 2024. Se sei uno di questi utenti, puoi contattare l'assistenza per perfezionare questo comportamento. Gli utenti il cui utilizzo esistente non è compatibile con l'implementazione di TRAFFIC_DIRECTOR senza modifiche continueranno a ricevere l'implementazione di TRAFFIC_DIRECTOR fino all'8 settembre 2024. (Questi utenti hanno ricevuto Announcement.)
  • Se un cluster nel parco risorse utilizza Certificate Authority Service quando esegui il provisioning Cloud Service Mesh, riceverai l'implementazione del piano di controllo ISTIOD.
  • Se un cluster del tuo parco risorse contiene un piano di controllo Cloud Service Mesh in cluster quando esegui il provisioning di Cloud Service Mesh gestito, riceverai l'implementazione del piano di controllo ISTIOD.
  • Se un cluster del tuo parco utilizza GKE Sandbox, quando esegui il provisioning di Cloud Service Mesh gestito, ricevi l'implementazione del control plane ISTIOD.

Funzionalità supportate dal piano di controllo gestito

Installazione, upgrade e rollback

Funzionalità Gestito (TD) Gestito (stiod)
Installazione su cluster GKE utilizzando l'API delle funzionalità fleet
Upgrade dalle versioni ASM 1.9 che utilizzano Mesh CA
Upgrade diretti (a livello di salto) dalle versioni di Cloud Service Mesh precedenti alla 1.9 (vedi le note per gli upgrade indiretti)
Upgrade diretti (a livello di salto) da Istio OSS (consulta le note per gli upgrade indiretti)
Upgrade diretti (a livello di salto) dal componente aggiuntivo Istio-on-GKE (consulta le note per gli upgrade indiretti)
Attivare le funzionalità facoltative

Ambienti

Funzionalità Gestito (TD) Gestito (stiod)
GKE 1.25-1.27 in una delle regioni supportate
Cluster GKE 1.25-1.27 con Autopilot
Ambienti esterni a Google Cloud (GKE Enterprise on-premise, GKE Enterprise su altri cloud pubblici, Amazon EKS, Microsoft AKS o altri cluster Kubernetes)

Scala

Funzionalità Gestito (TD) Gestito (istiod)
1000 servizi e 5000 carichi di lavoro per cluster
50 porte di servizio headless per mesh e 36 pod per porta di servizio headless

Ambiente della piattaforma

Funzionalità Gestito (TD) Gestito (istiod)
Singola rete
Multipiattaforma
Singolo progetto
Più progetti con VPC condiviso

Deployment multi-cluster

Funzionalità Gestito (TD) Gestito (stiod)
Multi-primaria
Telecomando principale
Rilevamento di endpoint multicluster con API declarative
Rilevamento di endpoint multi-cluster con secret remoti

Note sulla terminologia

  • Una configurazione multi-principale significa che la configurazione deve essere replicata in tutti i cluster.
  • Una configurazione primaria-remota significa che un singolo cluster contiene configurazione ed è considerata la fonte attendibile.
  • Cloud Service Mesh utilizza una definizione semplificata della rete basata sulla connettività generale. Le istanze di carico di lavoro si trovano sulla stessa rete se sono in grado di comunicare direttamente, senza un gateway.

Immagini di base

Funzionalità Gestito (TD) Gestito (istiod)
Immagine proxy senza problemi

† Cloud Service Mesh con un piano di controllo gestito (TD) supporta solo il tipo di immagine senza distroless. Non puoi modificarlo.

Nota che le immagini senza distro hanno binari minimi, quindi non puoi eseguire il solito come bash o curl, perché non sono presenti nell'immagine distroless. Tuttavia, puoi utilizzare i container temporanei per collegarti a un pod di carico di lavoro in esecuzione per poterlo ispezionare ed eseguire comandi personalizzati. Ad esempio, consulta Raccogliere i log di Cloud Service Mesh.

Sicurezza

Controlli di servizio VPC

Funzionalità Gestito (TD) Gestito (istiod)
Anteprima di Controlli di servizio VPC
GA Controlli di servizio VPC

Meccanismi di distribuzione e rotazione dei certificati

Funzionalità Gestito (TD) Gestito (stiod)
Gestione dei certificati dei carichi di lavoro
Gestione dei certificati esterni attivata gateway in entrata e in uscita.

Supporto delle autorità di certificazione (CA)

Funzionalità Gestito (TD) Gestito (istiod)
L'autorità di certificazione Cloud Service Mesh
Certificate Authority Service
CA Istio
Integrazione con CA personalizzate

Funzionalità di sicurezza

Oltre a supportare le funzionalità di sicurezza di Istio, Cloud Service Mesh offre ancora più funzionalità per aiutarti a proteggere le tue applicazioni.

Funzionalità Gestito (TD) Gestito (istiod)
Integrazione di IAP
Autenticazione degli utenti finali
Modalità dry run
Log di rifiuto
Criteri di audit (non supportati)

Criterio di autorizzazione

Funzionalità Gestito (TD) Gestito (stiod)
Criterio di autorizzazione v1beta1
Criterio di autorizzazione CUSTOM §

† L'implementazione del control plane TRAFFIC_DIRECTOR non supporta i campi rules.from.source.RemoteIp e rules.from.source.NotRemoteIp.

Autenticazione peer

Funzionalità Gestito (TD) Gestito (istiod)
mTLS automatico
Modalità mTLS PERMISSIVE
Modalità STRICT mTLS * *
Modalità mTLS DISABLE

Richiedi autenticazione

Funzionalità Gestito (TD) Gestito (istiod)
Autenticazione JWT(nota 1)
Routing basato sulle attestazioni JWT
JWT Copy Claim to Headers

Note:

  1. I token JWT di terze parti sono abilitati per impostazione predefinita.
  2. Aggiungi il nome host/fqdn completo in JWKSURI durante la definizione dell'API RequestAuthentication.
  3. Il piano di controllo gestito impone a Envoy di recuperare il JWKS quando specifichi l'URI JWKS.

Telemetria

Metriche

Funzionalità Gestito (TD) Gestito (stiod)
Cloud Monitoring (metriche in-proxy HTTP)
Cloud Monitoring (metriche in-proxy TCP)
Esportazione delle metriche di Prometheus in Grafana (solo metriche Envoy) * *
Esportazione delle metriche di Prometheus in Kiali
Google Cloud Managed Service per Prometheus, esclusa la dashboard di Cloud Service Mesh * *
API Istio Telemetry
Adattatori/backend personalizzati, all'interno o all'esterno del processo
Backend di telemetria e logging arbitrario

† Il piano di controllo TRAFFIC_DIRECTOR supporta un sottoinsieme dell'API di telemetria Istio impiegata per configurare i log di accesso e le tracce.

Logging delle richieste proxy

Funzionalità Gestito (TD) Gestito (istiod)
Log sul traffico
Accedi ai log * *

Tracciamento

Funzionalità Gestito (TD) Gestito (istiod)
Cloud Trace * *
Monitoraggio Jaeger (consente l'utilizzo di Jaeger gestito dal cliente) Compatibile
Monitoraggio di Zipkin (consente l'utilizzo di Zipkin gestito dal cliente) Compatibile

Networking

Meccanismi di intercettazione e reindirizzamento del traffico

Funzionalità Gestito (TD) Gestito (stiod)
Uso tradizionale di iptables con container init con CAP_NET_ADMIN
Interfaccia di rete del container (CNI) Istio
Sidecar whitebox

Supporto del protocollo

Funzionalità Gestito (TD) Gestito (istiod)
IPv4
HTTP/1.1
HTTP/2
Flussi di byte TCP (nota 1)
gRPC
IPv6

Note:

  1. Sebbene TCP sia un protocollo supportato per la rete e le metriche TCP vengano raccolte, non vengono registrate. Le metriche vengono visualizzate solo per i servizi HTTP nella console Google Cloud.
  2. I servizi configurati con funzionalità di livello 7 per i seguenti protocolli non sono supportati: WebSocket, MongoDB, Redis, Kafka, Cassandra, RabbitMQ, Cloud SQL. Potresti riuscire a far funzionare il protocollo utilizzando il supporto dello stream di byte TCP. Se il flusso di byte TCP non può supportare il protocollo (ad esempio, Kafka invia un indirizzo di reindirizzamento in una risposta specifica di questo reindirizzamento non è compatibile con la logica di routing di Cloud Service Mesh), Il protocollo non è supportato.

Deployment Envoy

Funzionalità Gestito (TD) Gestito (istiod)
Sidecar
Gateway in entrata
In uscita direttamente dai file collaterali
In uscita tramite gateway in uscita * *

Supporto CRD

Funzionalità Gestito (TD) Gestito (istiod)
Risorsa Sidecar
Risorsa voce del servizio
Percentuale, fault injection, corrispondenza del percorso, reindirizzamenti, nuovi tentativi, riscrittura, timeout, nuovo tentativo, mirroring, manipolazione dell'intestazione e regole di routing CORS
API `EnvoyFilter` §
API `WasmPlugin`
Operatore Istio

Bilanciatore del carico per il gateway in entrata Istio

Funzionalità Gestito (TD) Gestito (istiod)
Bilanciatore del carico esterno di terze parti
Bilanciatore del carico interno Google Cloud * *

Gateway cloud del servizio mesh

Funzionalità Gestito (TD) Gestito (istiod)
Gateway cloud del servizio mesh

API Kubernetes Gateway

Funzionalità Gestito (TD) Gestito (stiod)
API Kubernetes Gateway

Criteri di bilanciamento del carico

Funzionalità Gestito (TD) Gestito (stiod)
Round robin
Connessioni minime
Casuale
Passthrough
Hash coerente
Località

Voce del servizio

Funzionalità Gestito (TD) Gestito (istiod)
ServiceEntry v1beta1

† L'implementazione del control plane di TRAFFIC_DIRECTOR non supporta i seguenti campi e valori nei campi:

  • Campo workloadSelector
  • Campo endpoints[].network
  • Campo endpoints[].locality
  • Campo endpoints[].weight
  • Campo endpoints[].serviceAccount
  • Valore DNS_ROUND_ROBIN nel campo resolution
  • Valore di MESH_INTERNAL nel campo location
  • Indirizzo socket del dominio Unix nel campo endpoints[].address
  • Campo subjectAltNames

Regola di destinazione

Funzionalità Gestito (TD) Gestito (stiod)
TargetRule v1beta1

† L'implementazione del piano di controllo TRAFFIC_DIRECTOR non supporta Campo trafficPolicy.loadBalancer.localityLbSetting e trafficPolicy.tunnel . Inoltre, l'implementazione del piano di controllo TRAFFIC_DIRECTOR richiede che la regola di destinazione che definisce i sottoinsiemi si trova nello stesso spazio dei nomi e nello stesso cluster il servizio Kubernetes o ServiceEntry.

Sidecar

Funzionalità Gestito (TD) Gestito (istiod)
Sidecar v1beta1

† L'implementazione del control plane di TRAFFIC_DIRECTOR non supporta i seguenti campi e valori nei campi:

  • Campo ingress
  • Campo egress.port
  • Campo egress.bind
  • Campo egress.captureMode
  • Campo inboundConnectionPool

MeshConfig

Funzionalità Gestito (TD) Gestito (stiod)
LocalityLB §
ExtensionProviders §
CACert
ImageType: senza distro §
OutboundTrafficPolicy §
defaultProviders.accessLogging
defaultProviders.tracing
defaultConfig.tracing.stackdriver §
accessLogFile §

ProxyConfig

Funzionalità Gestito (TD) Gestito (stiod)
Proxy DNS (ISTIO_META_DNS_CAPTURE, ISTIO_META_DNS_AUTO_ALLOCATE)
Supporto HTTP/1.0 (ISTIO_META_NETWORK)
Selezione dell'immagine (senza distorsioni o immagine di base)

† Per l'iniezione viene utilizzata un'immagine senza distribuzione.

Regioni

I cluster GKE devono trovarsi in una delle seguenti regioni o in una qualsiasi zona all'interno delle seguenti regioni.

Regione Località
africa-south1 Johannesburg
asia-east1 Taiwan
asia-east2 Hong Kong
asia-northeast1 Tokyo, Giappone
asia-northeast2 Osaka, Giappone
asia-northeast3 Corea del Sud
asia-south1 Mumbai, India
asia-south2 Delhi, India
asia-southeast1 Singapore
asia-southeast2 Giacarta
australia-southeast1 Sydney, Australia
australia-southeast2 Melbourne, Australia
europe-central2 Polonia
europe-north1 Finlandia
europe-southwest1 Spagna
europe-west1 Belgio
europe-west2 Inghilterra
europe-west3 Francoforte, Germania
europe-west4 Paesi Bassi
europe-west6 Svizzera
europe-west8 Milano, Italia
europe-west9 Francia
europe-west10 Berlino, Germania
europe-west12 Torino, Italia
me-central1 Doha
me-central2 Dammam, Arabia Saudita
me-west1 Tel Aviv
northamerica-northeast1 Montreal, Canada
northamerica-northeast2 Toronto, Canada
southamerica-east1 Brasile
southamerica-west1 Cile
us-central1 Iowa
us-east1 Carolina del Sud
us-east4 Virginia del Nord
us-east5 Ohio
us-south1 Dallas
us-west1 Oregon
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas

Interfaccia utente

Funzionalità Gestito (TD) Gestito (istiod)
Dashboard di Cloud Service Mesh nella console Google Cloud
Cloud Monitoring
Cloud Logging

Utensili

Funzionalità Gestito (TD) Gestito (istiod)
Strumento gcloud beta container fleet mesh debug