Componente aggiuntivo mesh di servizi basato su Istio per servizio Azure Kubernetes (anteprima)

Istio affronta le sfide che gli sviluppatori e gli operatori affrontano con un'architettura distribuita o di microservizi. Il componente aggiuntivo Mesh di servizi basato su Istio offre un'integrazione ufficialmente supportata e testata per il servizio Azure Kubernetes.

Importante

Le funzionalità di anteprima del servizio Azure Kubernetes sono disponibili in modalità self-service e opzionale. Le anteprime vengono fornite “così come sono” e ”come disponibili” e sono escluse dai contratti di servizio e dalla garanzia limitata. Le anteprime del servizio Azure Kubernetes sono parzialmente coperte dal supporto clienti con la massima diligenza possibile. Di conseguenza, queste funzionalità non sono destinate all'uso in produzione. Per altre informazioni, vedere gli articoli di supporto seguenti:

Che cos'è una mesh di servizi?

Le applicazioni moderne sono in genere strutturate come raccolte distribuite di microservizi, con ogni raccolta di microservizi che eseguono alcune funzioni aziendali discrete. Una mesh di servizi è un livello di infrastruttura dedicato che è possibile aggiungere alle applicazioni. Consente di aggiungere in modo trasparente funzionalità come osservabilità, gestione del traffico e sicurezza, senza aggiungerle al proprio codice. Il termine service mesh descrive sia il tipo di software usato per implementare questo modello che il dominio di sicurezza o di rete creato quando si usa tale software.

Poiché la distribuzione di servizi distribuiti, ad esempio in un sistema basato su Kubernetes, aumenta di dimensioni e complessità, può diventare più difficile comprendere e gestire. Potrebbe essere necessario implementare funzionalità come l'individuazione, il bilanciamento del carico, il ripristino degli errori, le metriche e il monitoraggio. Una mesh di servizi può anche soddisfare requisiti operativi più complessi, ad esempio test A/B, distribuzioni canary, limitazione della frequenza, controllo di accesso, crittografia e autenticazione end-to-end.

La comunicazione da servizio a servizio è ciò che rende possibile un'applicazione distribuita. Il routing di questa comunicazione, sia all'interno che all'interno dei cluster applicazioni, diventa sempre più complesso man mano che aumenta il numero di servizi. Istio aiuta a ridurre questa complessità, riducendo al contempo il carico dei team di sviluppo.

Che cos'è Istio?

Istio è una mesh di servizi open source che esegue il layer trasparente sulle applicazioni distribuite esistenti. Le potenti funzionalità di Istio offrono un modo uniforme ed efficiente per proteggere, connettere e monitorare i servizi. Istio abilita il bilanciamento del carico, l'autenticazione da servizio a servizio e il monitoraggio, con poche o nessuna modifica del codice del servizio. Il suo potente piano di controllo offre caratteristiche vitali, tra cui:

  • Proteggere la comunicazione da servizio a servizio in un cluster con crittografia TLS, autenticazione basata su identità avanzata e autorizzazione.
  • Bilanciamento del carico automatico per il traffico HTTP, gRPC, WebSocket e TCP.
  • Controllo con granularità fine del comportamento del traffico con regole di gestione avanzate, tentativi, failover e inserimento di errori.
  • Un livello di criteri collegabile e un'API di configurazione che supporta i controlli di accesso, i limiti di frequenza e le quote.
  • Metriche, log e tracce automatiche per tutto il traffico all'interno di un cluster, inclusi ingresso e uscita del cluster.

In che modo il componente aggiuntivo è diverso da Istio open source?

Questo componente aggiuntivo service mesh usa e si basa su Istio open source. Il sapore del componente aggiuntivo offre i vantaggi aggiuntivi seguenti:

  • Le versioni istio vengono testate e verificate per essere compatibili con le versioni supportate del servizio Azure Kubernetes.
  • Microsoft gestisce il ridimensionamento e la configurazione del piano di controllo Istio
  • Microsoft regola il ridimensionamento dei componenti del servizio Azure Kubernetes, ad esempio coredns quando Istio è abilitato.
  • Microsoft fornisce il ciclo di vita gestito (aggiornamenti) per i componenti Istio quando viene attivato dall'utente.
  • Configurazione dell'ingresso esterno e interno verificato.
  • Verificato per funzionare con il servizio gestito di Monitoraggio di Azure per Prometheus e Grafana con gestione Azure.
  • Supporto ufficiale di Azure fornito per il componente aggiuntivo.

Limiti

Il componente aggiuntivo mesh di servizi basato su Istio per il servizio Azure Kubernetes presenta le limitazioni seguenti:

  • Il componente aggiuntivo non funziona nei cluster del servizio Azure Kubernetes che usano il componente aggiuntivo Open Service Mesh per il servizio Azure Kubernetes.
  • Il componente aggiuntivo non funziona nei cluster del servizio Azure Kubernetes in cui Istio è già installato all'esterno dell'installazione del componente aggiuntivo.
  • Ciclo di vita gestito della mesh sul modo in cui vengono installate le versioni di Istio e successivamente rese disponibili per gli aggiornamenti.
  • Istio non supporta i contenitori Windows Server.
  • La personalizzazione della mesh in base alle risorse personalizzate seguenti è bloccata per il momentoEnvoyFilter, ProxyConfig, WorkloadEntry, WorkloadGroup, Telemetry, IstioOperator, WasmPlugin

Passaggi successivi