Servizi multi-cluster


Questa pagina fornisce una panoramica di come GKE multi-cluster Services (MCS). Per scoprire come utilizzare MCS, consulta Configurazione di servizi multi-cluster.

Panoramica di MCS

L'oggetto Service familiare di Kubernetes ti consente di trovare e accedere a un servizio all'interno di un singolo cluster Kubernetes. Tuttavia, a volte potresti voler suddividere le applicazioni in più cluster per gestire la gestione dello stato, requisiti di scalabilità, disponibilità e sovranità dei dati. Con MCS, puoi creare applicazioni Kubernetes che si estendono su più cluster.

MCS è un servizio di rilevamento e chiamata tra cluster meccanismo di attenzione per Google Kubernetes Engine (GKE) che sfrutta il servizio esistente . I servizi abilitati con questa funzionalità sono rilevabili e accessibili in cluster con un IP virtuale, in modo da rispecchiare il comportamento Servizio ClusterIP accessibili in un cluster. Proprio come i servizi esistenti, MCS è compatibile con le API aperte e basate sulla community, per garantire che i tuoi carichi di lavoro rimangano portabile.

MCS è una funzionalità di GKE. MCS configura zone e servizi Cloud DNS record per ogni servizio esportato nei tuoi cluster del parco risorse. Un parco risorse consente di raggruppare e normalizzare logicamente i cluster GKE, semplificando l'amministrazione dell'infrastruttura e consentendo l'uso di funzionalità multi-cluster come MCS. Per saperne di più sui vantaggi dei parchi risorse e su come crearli, consulta la documentazione sulla gestione del parco risorse.

I servizi esportati, indipendentemente dal tipo, hanno sempre un record Cloud DNS, mentre i servizi di tipo headless esportati hanno record per ogni pod di backend con un nome host, inclusi i pod negli oggetti StatefulSet. L'utilizzo di Cloud DNS comporta costi aggiuntivi. La fatturazione avviene in base a Prezzi di Cloud DNS.

Per esportare un servizio con MCS, crea una risorsa personalizzata ServiceExport utilizzando lo stesso e nome come servizio. MCS importa automaticamente il servizio in ogni nel parco risorse. Quando MCS importa un servizio, crea:

  • Una risorsa personalizzata ServiceImport che utilizza lo stesso spazio dei nomi e nome del servizio.
  • Un oggetto Endpoints che utilizza lo stesso spazio dei nomi del servizio e un nome casuale.

Vantaggi dell'utilizzo di MCS

L'utilizzo di MCS offre i seguenti vantaggi:

  • Alta disponibilità: esecuzione dello stesso servizio su più cluster in in più regioni offre una maggiore tolleranza agli errori. Se un servizio in se un cluster non è disponibile, è possibile che il failover della richiesta venga eseguito da un altro cluster. Con MCS è possibile gestire la comunicazione tra i servizi nei vari cluster per migliorare la disponibilità delle applicazioni containerizzate.
  • Servizi stateful e stateless: servizi stateful e stateless. hanno dipendenze e complessità operative diverse e presentano diversi compromessi operativi. In genere, l'assenza di una gestione degli stati semplifica la scalabilità, l'upgrade e la migrazione di un carico di lavoro con la disponibilità del servizio. MCS consente di separare i cluster per stateful e stateless carichi di lavoro indipendenti, che li rendono indipendenti, isolati e più facili da gestire.
  • Servizi condivisi: capita di creare entità Kubernetes separate per ottenere una maggiore disponibilità, una migliore gestione stateless e semplifica la conformità alla sovranità dei dati i tuoi requisiti. Tuttavia, molti servizi, come il monitoraggio con Prometheus o l'utilizzo della gestione dei secret con Vault, sono spesso condivisi tra tutti i cluster. Invece di richiedere la propria replica del servizio locale, ogni cluster con MCS semplifica la configurazione di servizi condivisi comuni in un cluster separato utilizzato da tutti i cluster funzionali.
  • Migrazione: la modernizzazione di un'applicazione esistente in un'architettura basata su microservizi containerizzata spesso richiede il deployment dei servizi su più cluster Kubernetes. MCS fornisce un meccanismo per aiutare a colmare il divario nella comunicazione tra questi servizi, semplificando la migrazione delle applicazioni. Questo è particolarmente utile perché puoi eseguire il deployment dello stesso servizio su due cluster diversi e il traffico può passare da un cluster o un'applicazione all'altro.

Passaggi successivi

  • Scopri di più su Ingress multi-cluster, che fornisce servizi per le direzioni del traffico da nord-sud e da est-ovest.
  • Scopri di più su Cloud Service Mesh, che offre un controllo più granulare sul routing e sulla definizione del traffico.