Funzionalità supportate che utilizzano le API Istio (piano di controllo gestito)

In questa pagina vengono descritte le funzionalità e le limitazioni supportate per Cloud Service Mesh utilizzando Cloud Service Mesh 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 di Cloud Service Mesh.

Per l'elenco delle funzionalità supportate da Cloud Service Mesh per un cluster in-cluster piano di controllo, vedi Utilizzo delle API Istio (piano di controllo istiod nel 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 supportati.
  • 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 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 multi-cluster: l'opzione di deployment primario-remote per multi-cluster non lo è.
  • 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

    • Kubernetes Gateway 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 il processo di provisioning per un piano di controllo gestito, I CRD Istio corrispondenti al canale selezionato sono installati nel cluster specificato. Se nel cluster sono già 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 sul il canale di rilascio rapid recupera 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, vedi requestauthn-with-se.yaml.tmpl.

Differenze nel piano di controllo

Esistono differenze nelle funzionalità supportate tra istiod e Cloud Service Mesh le implementazioni del piano di controllo. Per verificare quale implementazione stai utilizzando, consulta Identificare l'implementazione del piano di controllo.

  • : indica che la funzione è disponibile e sono abilitate 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 della versione gestita di Anthos Service Mesh 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 da Google Cloud assistenza. Le funzionalità non elencate esplicitamente nelle tabelle si basano sul criterio del "best effort" assistenza in tempo reale.

Cosa determina l'implementazione del piano di controllo

Quando esegui il provisioning di Cloud Service Mesh gestito la prima volta in un parco risorse, per determinare quale implementazione del piano di controllo usare. La stessa implementazione utilizzata per tutti i cluster che eseguono il provisioning di Cloud Service Mesh gestito in quel parco risorse.

I nuovi parchi risorse che eseguono l'onboarding nella gestione di Cloud Service Mesh ricevono il 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. Utenti il cui utilizzo esistente non è compatibile con TRAFFIC_DIRECTOR implementazione senza modifiche continuerà a ricevere ISTIOD implementazione 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 nel parco risorse contiene un mesh di servizi Cloud nel cluster quando esegui il provisioning di Cloud Service Mesh gestito, ricevono l'implementazione del piano di controllo ISTIOD.
  • Se un cluster nel parco risorse utilizza GKE Sandbox quando esegui il provisioning di Cloud Service Mesh gestito, ricevi il ISTIOD dell'implementazione del piano di controllo.

Identifica l'implementazione del piano di controllo

Esegui questo comando per identificare l'implementazione del piano di controllo:

  gcloud container fleet mesh describe --project FLEET_PROJECT_ID

Tieni presente che se utilizzi Cloud Service Mesh con le API Google Cloud (vedi Informazioni su Cloud Service Mesh), questo comando non funzioneranno.

L'output è simile al seguente:

  ...
  membershipSpecs:
    projects/746296320118/locations/us-central1/memberships/demo-cluster-1:
      mesh:
        management: MANAGEMENT_AUTOMATIC
  membershipStates:
    projects/746296320118/locations/us-central1/memberships/demo-cluster-1:
      servicemesh:
        controlPlaneManagement:
          details:
          - code: REVISION_READY
            details: 'Ready: asm-managed'
          state: ACTIVE
          implementation: TRAFFIC_DIRECTOR
  ...

I valori possibili implementation sono:

  • TRAFFIC_DIRECTOR: l'infrastruttura di base di Google Cloud funge da dal piano di controllo Cloud Service Mesh.
  • ISTIOD: l'istanza gestita di istiod funge da Cloud Service Mesh dal piano di controllo.
  • UPDATING: è in corso la migrazione del cluster tra le implementazioni. A breve potrai avrà l'implementazione TRAFFIC_DIRECTOR.

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 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 (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 (stiod)
1000 servizi e 5000 carichi di lavoro per cluster
50 ServicePorts per mesh e 36 pod per ServicePort.

Ambiente della piattaforma

Funzionalità Gestito (TD) Gestito (stiod)
Rete singola
Più reti
Progetto singolo
Più progetti con VPC condiviso

Deployment multi-cluster

Funzionalità Gestito (TD) Gestito (stiod)
Multi-primaria
Telecomando principale
Rilevamento degli endpoint multi-cluster con API dichiarativa
Rilevamento degli 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.

Nota che le immagini senza distro hanno programmi 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 da collegare a un pod del carico di lavoro in esecuzione potrà esaminarlo ed eseguire comandi personalizzati. Ad esempio, vedi Raccolta dei log di Cloud Service Mesh.

Sicurezza

Controlli di servizio VPC

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

Assistenza delle autorità di certificazione (CA)

Funzionalità Gestito (TD) Gestito (stiod)
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 IAP
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 piano di controllo Cloud Service Mesh non supporta rules.from.source.RemoteIp e rules.from.source.NotRemoteIp campi.

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
Copia rivendicazione nei titoli JWT nelle intestazioni

Note:

  1. JWT di terze parti è abilitato 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 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 di 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, dentro o fuori dal processo
Backend di telemetria e logging arbitrario

† Il piano di controllo Cloud Service Mesh supporta un sottoinsieme di API di telemetria Istio utilizzato per configurare i log degli accessi traccia.

Logging richieste proxy

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

Tracciamento

Funzionalità Gestito (TD) Gestito (stiod)
Cloud Trace * *
Tracciamento Jaeger (consente l'utilizzo di Jaeger gestito dal cliente) Compatibile
Tracciamento 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 (stiod)
IPv4
HTTP/1.1
HTTP/2
Flussi 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. Servizi configurati con funzionalità di livello 7 per non sono supportati i seguenti protocolli: WebSocket, MongoDB, Redis, Kafka, Cassandra, RabbitMQ, Cloud SQL. Potresti riuscire a far funzionare il protocollo utilizzando il supporto per i flussi 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 (stiod)
Sidecar
Gateway in entrata
In uscita direttamente dai file collaterali
In uscita con gateway in uscita * *

Supporto CRD

Funzionalità Gestito (TD) Gestito (stiod)
Risorsa Sidecar
Risorsa voce di 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 (stiod)
Bilanciatore del carico esterno di terze parti
Bilanciatore del carico interno di Google Cloud * *

Gateway cloud mesh di servizi

Funzionalità Gestito (TD) Gestito (stiod)
Gateway cloud mesh di servizi

API Gateway Kubernetes

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

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

† L'implementazione del piano di controllo Cloud Service Mesh non supporta i seguenti campi e valori nei campi:

  • Campo workloadSelector
  • Campo endpoints[].network
  • Campo endpoints[].locality
  • Campo endpoints[].weight
  • Campo endpoints[].serviceAccount
  • Valore di 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 Cloud Service Mesh non supporta Campo trafficPolicy.loadBalancer.localityLbSetting e trafficPolicy.tunnel . Inoltre, l'implementazione del piano di controllo di Cloud Service Mesh 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 Cloud Service Mesh 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 delle immagini (immagine senza distro o di base)

† Per l'iniezione si utilizza un'immagine senza distro.

Regioni

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

Regione Località
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 (stiod)
Strumento gcloud beta container fleet mesh debug