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

Questa pagina descrive le funzionalità e le limitazioni supportate per Cloud Service Mesh che utilizza TRAFFIC_DIRECTOR o ISTIOD come piano di controllo e le differenze tra ogni implementazione. 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 hai dubbi su quale control plane di Cloud Service Mesh stai utilizzando, puoi controllare l'implementazione del control plane seguendo le istruzioni riportate in Identificare l'implementazione del control plane.

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. Analogamente, il provisioning di Cloud Service Mesh gestito con l'API fleet 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. 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 risorse CRD Istio corrispondenti al canale selezionato vengono installate nel cluster specificato. Se nel cluster sono 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 canale di rilascio rapido recuperano i 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 di funzionalità possono avere differenze tra le varie piattaforme.
  • * indica che la funzionalità è supportata per la piattaforma e può essere attivata, come descritto in Attivare le funzionalità facoltative o nella guida alle funzionalità collegata nella tabella delle funzionalità.
  • §: indica che la funzionalità è supportata dalla lista consentita. Gli utenti precedenti di Anthos Service Mesh gestito sono 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 è supportata.

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. 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.ISTIOD Questi utenti hanno ricevuto un annuncio relativo al servizio.
  • 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 sui cluster GKE utilizzando l'API di 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 (vedi 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)
Attivazione delle 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 workload 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
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 principale remota indica che un singolo cluster contiene la configurazione ed è considerato 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 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, consulta Raccogliere i log di Cloud Service Mesh.

Sicurezza

Controlli di servizio VPC

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

Meccanismi di distribuzione e rotazione dei certificati

Funzionalità Gestito (TD) Gestito (istiod)
Gestione dei certificati per carichi di lavoro
Gestione dei certificati esterni sui 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 (istiod)
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à mTLS STRICT * *
Modalità mTLS DISABLE

Richiedi autenticazione

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

Note:

  1. I token JWT di terze parti sono abilitati per impostazione predefinita.
  2. Aggiungi il FQDN/nome host 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 (istiod)
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 arbitrari

† 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
Log di accesso * *

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 (istiod)
Utilizzo tradizionale di iptables con container init con CAP_NET_ADMIN
Istio Container Network Interface (CNI)
Sidecar whitebox

Supporto del protocollo

Funzionalità Gestito (TD) Gestito (istiod)
IPv4
HTTP/1.1
HTTP/2
Stream 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 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.

Deployment di Envoy

Funzionalità Gestito (TD) Gestito (istiod)
Sidecar
Gateway di ingresso
Uscita diretta dai sidecar
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 Google Cloud * *

Gateway cloud del servizio mesh

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

API Kubernetes Gateway

Funzionalità Gestito (TD) Gestito (istiod)
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 (istiod)
DestinationRule v1beta1

† L'implementazione del control plane TRAFFIC_DIRECTOR non supporta il campo trafficPolicy.loadBalancer.localityLbSetting e il campo trafficPolicy.tunnel. Inoltre, l'implementazione del control plane TRAFFIC_DIRECTOR richiede che la regola di destinazione che definisce i sottoinsiemi si trovi nello stesso spazio dei nomi e nello stesso cluster del servizio Kubernetes o di 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 (istiod)
LocalityLB §
ExtensionProviders §
CACert
ImageType - distroless §
OutboundTrafficPolicy §
defaultProviders.accessLogging
defaultProviders.tracing
defaultConfig.tracing.stackdriver §
accessLogFile §

ProxyConfig

Funzionalità Gestito (TD) Gestito (istiod)
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 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