Gestisci e scala il networking per le applicazioni Windows eseguite su Kubernetes gestito

Last reviewed 2024-08-14 UTC

Questa architettura di riferimento fornisce una soluzione a scalabilità elevata e ad alta disponibilità che utilizza Cloud Service Mesh e i gateway Envoy per gestire il traffico di rete per le applicazioni Windows in esecuzione su Google Kubernetes Engine (GKE). Spiega come gestire il traffico di rete utilizzando un servizio in grado di instradare il traffico ai pod e a un proxy open source conforme a xDS. L'utilizzo di un'architettura di questo tipo può contribuire a ridurre i costi e migliorare la gestione della rete.

Questo documento è destinato ad architetti cloud, amministratori di rete e professionisti IT responsabili della progettazione e della gestione delle applicazioni Windows in esecuzione su GKE.

Architettura

Il seguente diagramma mostra un'architettura per la gestione del networking per le applicazioni Windows in esecuzione su GKE utilizzando Cloud Service Mesh e i gateway Envoy:

I dati scorrono attraverso un bilanciatore del carico delle applicazioni interno e un gateway Envoy.

L'architettura include i seguenti componenti:

  • Un cluster GKE regionale con pool di nodi Windows e Linux.
  • Due applicazioni Windows in esecuzione in due pod GKE separati.
  • Cloud Service Mesh crea e gestisce le route del traffico ai NEG per ogni pod GKE. Ogni route è mappata a un scope specifico. Questo scope identifica in modo univoco un gateway in entrata di Cloud Service Mesh.
  • Route HTTP che eseguono il mapping ai servizi di backend per Cloud Service Mesh.
  • Envoy che fungono da gateway Envoy per il cluster GKE.
  • Gateway Envoy in esecuzione su nodi Linux. I gateway sono configurati per indirizzare il traffico alle applicazioni Windows tramite i servizi corrispondenti a queste applicazioni. Envoy è configurato per utilizzare il parametro scope per caricare i dettagli di configurazione dei servizi Cloud Service Mesh pertinenti.
  • Un bilanciatore del carico delle applicazioni interno che termina il traffico SSL e indirizza tutto il traffico in entrata esterno a i gateway Envoy.

Prodotti utilizzati

Questa architettura di riferimento utilizza i seguenti Google Cloud prodotti di terze parti:

Google Cloud Prodotti

  • Cloud Load Balancing: un portafoglio di bilanciatori del carico globali e regionali scalabili, ad alte prestazioni.
  • Google Kubernetes Engine (GKE): un servizio Kubernetes che puoi utilizzare per eseguire il deployment e gestire applicazioni containerizzate su larga scala utilizzando l'infrastruttura di Google.
  • Cloud Service Mesh: una suite di strumenti che ti aiuta a monitorare e gestire un mesh di servizi affidabile on-premise o su Google Cloud.

Prodotti di terze parti

  • Gateway Envoy: gestisce un proxy Envoy come gateway applicativo autonomo o basato su Kubernetes.
  • API Gateway: un progetto Kubernetes ufficiale incentrato sul routing L4 e L7 in Kubernetes.

Caso d'uso

Il caso d'uso principale di questa architettura di riferimento è la gestione del traffico di rete per le applicazioni Windows in esecuzione su GKE. Questa architettura offre i seguenti vantaggi:

Gestione della rete semplificata: Cloud Service Mesh e i gateway Envoy forniscono una gestione della rete semplificata tramite un control plane centralizzato che gestisce il traffico di rete verso le applicazioni. Queste applicazioni possono essere applicazioni Linux o Windows in esecuzione su GKE o Compute Engine. L'utilizzo di questo schema di gestione della rete semplificato riduce la necessità di configurazione manuale.

Scalabilità e disponibilità migliorate: per soddisfare le esigenze in continua evoluzione, utilizza Cloud Service Mesh e i gateway Envoy per scalare le applicazioni Linux e Windows. Puoi anche utilizzare i gateway Envoy per fornire alta affidabilità per le tue applicazioni bilanciando il carico del traffico su più pod.

Sicurezza migliorata: utilizza i gateway Envoy per aggiungere funzionalità di sicurezza alle applicazioni Linux e Windows, come la terminazione SSL, l'autenticazione e la limitazione della frequenza.

Costi ridotti: sia Cloud Service Mesh sia i gateway Envoy possono contribuire a ridurre i costi di gestione del traffico di rete per le applicazioni Linux e Windows.

Note sul layout

Questa sezione fornisce indicazioni per aiutarti a sviluppare un'architettura che soddisfi i tuoi requisiti specifici di sicurezza, affidabilità, costi ed efficienza.

Sicurezza

  • Networking sicuro: l'architettura utilizza un bilanciatore del carico delle applicazioni interno per criptare il traffico in entrata ai container Windows. La crittografia in transito aiuta a prevenire la perdita di dati.
  • Container Windows: i container Windows contribuiscono a fornire un ambiente sicuro e isolato per le applicazioni containerizzate.

Affidabilità

  • Bilanciamento del carico: l'architettura utilizza più livelli di Cloud Load Balancing per distribuire il traffico tra i gateway Envoy e i container Windows.
  • Tolleranza agli errori: questa architettura è tollerante agli errori e non ha un singolo punto di errore. Questo design contribuisce a garantire che sia sempre disponibile, anche se uno o più componenti non funzionano.
  • Scalabilità automatica: l'architettura utilizza la scalabilità automatica per scalare automaticamente il numero di gateway Envoy e container Windows in base al carico. La scalabilità automatica contribuisce a garantire che i gateway e le applicazioni possano gestire i picchi di traffico senza riscontrare problemi di prestazioni.
  • Monitoraggio: l'architettura utilizza Google Cloud Managed Service per Prometheus e Suite operativa di Google Cloud per monitorare lo stato dei gateway Envoy e dei container Windows. Il monitoraggio ti aiuta a identificare i problemi in anticipo e potenzialmente a impedirne l'interruzione delle applicazioni.

Ottimizzazione dei costi

  • Scegli i tipi di istanza giusti per i tuoi carichi di lavoro: quando scegli i tipi di istanza, prendi in considerazione i seguenti fattori:
    • Il numero di vCPU e la quantità di memoria richieste dalle applicazioni
    • Il carico di traffico previsto per le applicazioni
    • La necessità per gli utenti di avere applicazioni ad alta disponibilità
  • Utilizza la scalabilità automatica: la scalabilità automatica può aiutarti a risparmiare denaro scalando automaticamente i carichi di lavoro Windows in verticale e in orizzontale.

  • Utilizza Cloud Service Mesh e i gateway Envoy: Cloud Service Mesh e i gateway Envoy possono aiutarti a risparmiare denaro instradando in modo efficiente il traffico alle applicazioni Windows. L'utilizzo di un routing più efficiente può contribuire a ridurre la quantità di larghezza di banda da acquistare. Può anche contribuire a migliorare le prestazioni di queste applicazioni.

  • Utilizza le reti Virtual Private Cloud (VPC) condivise: le reti Virtual Private Cloud condivise ti consentono di condividere un singolo VPC tra più progetti. La condivisione può aiutarti a risparmiare denaro riducendo il numero di VPC da creare e gestire.

Efficienza operativa

  • Più domini con un singolo bilanciatore del carico interno: l' architettura utilizza i bilanciatori del carico delle applicazioni interni per scaricare il traffico SSL. Ogni proxy di destinazione HTTPS può supportare più certificati SSL (fino al massimo supportato) per gestire più applicazioni con domini diversi.
  • Infrastructure as Code (IaC): per gestire l'infrastruttura, l' architettura può essere implementata utilizzando IaC. IaC contribuisce a garantire che l'infrastruttura sia coerente e ripetibile.

Deployment

Per eseguire il deployment di questa architettura, consulta Eseguire il deployment di applicazioni Windows in esecuzione su Kubernetes gestito.

Passaggi successivi

Collaboratori

Autore: Eitan Eibschutz | Staff Technical Solutions Consultant

Altri collaboratori: