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 queste non sono opzioni che puoi 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.
  • Le migrazioni da Cloud Service Mesh gestito con asmcli a Cloud Service Mesh con l'API Fleet non sono supportate. 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 da Cloud Service Mesh nel cluster versioni 1.9 e successive installate con Mesh CA. Installazioni con Istio CA (in precedenza nota come Citadel) devono prima eseguire la migrazione a Mesh CA.
  • 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. In alternativa, puoi utilizzare i comandi gcloud beta container fleet mesh debug come descritto nella sezione Risoluzione dei problemi.
  • API non supportate:

    • EnvoyFilter API

    • WasmPlugin API

    • IstioOperator API

    • Kubernetes Ingress API

  • Puoi utilizzare il piano di controllo gestito senza un abbonamento a GKE Enterprise, ma alcuni elementi e funzionalità dell'interfaccia utente nella console Google Cloud sono disponibili solo per gli abbonati a GKE Enterprise. Per informazioni su cosa è disponibile per gli abbonati e i non abbonati, consulta Differenze tra l'interfaccia utente 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 già presenti CRD Istio, verranno sovrascritti.

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

  • A partire dal 14 novembre 2023, le nuove installazioni di Cloud Service Mesh gestito sul il canale di rilascio rapid recupera JWKS solo utilizzando Envoy. È equivalente all'opzione Istio PILOT_JWT_ENABLE_REMOTE_JWKS=envoy. Rispetto alle installazioni nei canali di rilascio regolare e stabile o nelle installazioni nel canale di rilascio rapido prima del 14 novembre 2023, potresti aver bisogno di configurazioni aggiuntive di ServiceEntry e DestinationRule. Per un esempio, consulta requestauthn-with-se.yaml.tmpl.

Differenze del piano di controllo

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

  • : indica che la funzionalità è disponibile e attivata per impostazione predefinita.
  • †: indica che le API delle funzionalità possono 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 per 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.

Che 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. La stessa implementazione utilizzata per tutti i cluster che eseguono il provisioning di Cloud Service Mesh gestito in quel 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 un utente gestito esistente di Cloud Service Mesh, ricevi ISTIOD dell'implementazione del piano di controllo durante l'onboarding di un nuovo parco risorse nello stesso Google Cloud Organizzazione per Cloud Service Mesh gestito, almeno fino al 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 del tuo parco risorse utilizza Certificate Authority Service quando esegui il provisioning di Cloud Service Mesh gestito, ricevi 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 (istiod)
Installazione su cluster GKE utilizzando l'API delle funzionalità fleet
Upgrade dalle versioni di 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 (vedi le note per gli upgrade indiretti)
Attivare le funzionalità facoltative

Ambienti

Funzionalità Gestito (TD) Gestito (istiod)
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
Più reti
Progetto singolo
Multi-project con VPC condiviso

Deployment multi-cluster

Funzionalità Gestito (TD) Gestito (istiod)
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 di rete basata sui criteri e la connettività privata. Le istanze del carico di lavoro si trovano sulla stessa rete se possono comunicare direttamente, senza un gateway.

Immagini di base

Funzionalità Gestito (TD) Gestito (stiod)
Immagine proxy senza Distroless

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

Tieni presente che le immagini distroless hanno binari minimi, quindi non puoi eseguire i comandi consueti 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, vedi Raccolta dei 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 (istiod)
Gestione dei certificati per carichi di lavoro
Gestione dei certificati esterni attivata gateway in entrata e in uscita.

Assistenza delle autorità di certificazione (CA)

Funzionalità Gestito (TD) Gestito (stiod)
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 (stiod)
Integrazione di acquisti in-app
Autenticazione degli utenti finali
Modalità dry run
Log dei rifiuti
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 (stiod)
mTLS automatico
Modalità PERMISSIVA mTLS
Modalità STRICT mTLS * *
Modalità mTLS DISATTIVATA

Richiedi autenticazione

Funzionalità Gestito (TD) Gestito (stiod)
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 di API di telemetria Istio utilizzato per configurare i log degli accessi trace.

Logging delle richieste proxy

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

Tracciamento

Funzionalità Gestito (TD) Gestito (stiod)
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 (istiod)
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 (stiod)
IPv4
HTTP/1.1
HTTP/2
Stream di byte TCP (nota 1)
gRPC
IPv6

Note:

  1. Sebbene TCP sia un protocollo supportato per il networking e le metriche vengono raccolte, non vengono registrate. Le metriche vengono visualizzate solo per 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 lo stream di byte TCP non può supportare il protocollo (ad esempio, Kafka invia un indirizzo di reindirizzamento in una risposta specifica per il protocollo e questo reindirizzamento non è compatibile con la logica di routing di Cloud Service Mesh), il protocollo non è supportato.
  3. † IPv6 è disponibile come funzionalità di rete a doppio stack in anteprima. Nella gRPC senza proxy, le funzionalità dualstack sono supportate solo in gRPC 1.66.1 o versioni successive in C++ e Python o gRPC Node.js v1.12. Se provi a configurare le funzionalità a doppio stack con una versione di gRPC che non supporta il doppio stack, i client utilizzeranno solo il primo inviato da Traffic Director.

Deployment Envoy

Funzionalità Gestito (TD) Gestito (stiod)
Sidecar
Gateway in entrata
Uscita diretta dai sidecar
In uscita tramite gateway in uscita * *

Supporto CRD

Funzionalità Gestito (TD) Gestito (istiod)
Risorsa Sidecar
Risorsa voce del servizio
Percentuale, inserimento di errori, corrispondenza dei percorsi, reindirizzamenti, nuovi tentativi, riscrittura, timeout, nuovo tentativo, mirroring, manipolazione delle intestazioni e regole di routing CORS
API `EnvoyFilter` §
API `WasmPlugin`
Istio Operator

Bilanciatore del carico per la porta di ingresso Istio

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

Gateway cloud mesh di servizi

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 (istiod)
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 MESH_INTERNAL nel campo location
  • Indirizzo socket di 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 i seguenti campi.

  • Campo trafficPolicy.loadBalancer.localityLbSetting
  • Campo trafficPolicy.tunnel
  • Campo trafficPolicy.tls.credentialName
  • Campo trafficPolicy.portLevelSettings[].tls.credentialName

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 (stiod)
Sidecar v1beta1

† L'implementazione del piano di controllo 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 (istiod)
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 si utilizza un'immagine senza distro.

Regioni

I cluster GKE devono trovarsi in una delle seguenti regioni o in 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
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 (stiod)
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