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 altamente disponibile e scalabile che utilizza Cloud Service Mesh e gateway Envoy per gestire il traffico di rete per le applicazioni Windows in esecuzione su Google Kubernetes Engine (GKE). Spiega come gestire quel traffico di rete utilizzando un servizio che può instradare il traffico ai pod e al traffico proxy open source compatibile con xDS. L'utilizzo di un'architettura come questa può aiutare a ridurre i costi e a migliorare la gestione della rete.

Questo documento è rivolto a cloud architect, amministratori di rete e IT professionisti responsabili della progettazione e della gestione di applicazioni Windows in esecuzione su GKE.

Architettura

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

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

L'architettura include i seguenti componenti:

  • Un cluster GKE a livello di regione con pool di nodi sia Windows che Linux.
  • Due applicazioni Windows in esecuzione in due di pod GKE.
  • Cloud Service Mesh crea e gestisce le route del traffico verso i NEG per ogni pod GKE. Ogni percorso è mappato specifico per scope. Quel scope identifica in modo univoco un gateway in entrata Cloud Service Mesh.
  • Route HTTP mappate ai servizi di backend per Cloud Service Mesh.
  • Pod contenitore Envoy che fungono da gateway Envoy per il cluster GKE.
  • Gateway Envoy in esecuzione su nodi Linux. I gateway sono configurati indirizzare il traffico verso le applicazioni Windows tramite i servizi che corrisponde a quelle applicazioni. Envoy è configurato per utilizzare scope per caricare i dettagli di configurazione Cloud Service Mesh.
  • Un Bilanciatore del carico delle applicazioni interno che termina il traffico SSL e indirizza tutto il traffico esterno in entrata alla i gateway di Envoy.

Prodotti utilizzati

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

Prodotti Google Cloud

  • Cloud Load Balancing: un portafoglio di bilanciatori del carico scalabili, globali e regionali 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

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

Caso d'uso

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

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

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

Sicurezza migliorata: utilizza i gateway Envoy per aggiungere funzionalità di sicurezza a Linux e le applicazioni Windows, come la terminazione, l'autenticazione e limitato.

Costi ridotti: sia i gateway Cloud Service Mesh che Envoy possono essere d'aiuto ridurre i costi di gestione del traffico di rete per Linux e Windows diverse applicazioni.

Note sul layout

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

Sicurezza

  • Networking protetto: l'architettura utilizza un bilanciatore del carico delle applicazioni interno per per criptare il traffico in entrata verso i container Windows. La crittografia in transito contribuisce a evitare la fuga di dati.
  • Container Windows: i container Windows aiutano a fornire una protezione un ambiente 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 Windows. containerizzati.
  • Tolleranza di errore: questa architettura è a tolleranza di errore senza single point of failure. Questo design contribuisce ad assicurare che sia sempre disponibile, anche se uno o più componenti si guastano.
  • Scalabilità automatica: l'architettura utilizza la scalabilità automatica per eseguire automaticamente scalare il numero di gateway Envoy e container Windows in base caricamento. La scalabilità automatica contribuisce ad assicurare che i gateway e le applicazioni possano gestire i picchi di traffico senza problemi di prestazioni.
  • Monitoraggio: l'architettura utilizza Google Cloud Managed Service per Prometheus e Cloud Operations per monitorare lo stato dei gateway Envoy e dei container Windows. Il monitoraggio ti aiuta a identificare i problemi in anticipo e potentially prevent them from disrupting your applications.

Ottimizzazione dei costi

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

  • Utilizza i gateway Cloud Service Mesh ed Envoy: i gateway Cloud Service Mesh ed Envoy possono aiutarti a risparmiare denaro in quanto indirizzano il traffico in modo efficiente alle tue applicazioni Windows. Utilizzo di più un routing efficiente può aiutare a ridurre la quantità di larghezza di banda necessaria acquisto. Inoltre, può contribuire a migliorare le prestazioni di queste applicazioni.

  • Utilizza reti Virtual Private Cloud (VPC) condivise: le reti Virtual Private Cloud condivise consentono di condividere un unico VPC in più progetti. La condivisione può aiutarti a risparmiare riducendo il numero di VPC che devi creare e gestire.

Efficienza operativa

  • Più domini con un unico bilanciatore del carico interno: l'architettura utilizza bilanciatori del carico delle applicazioni interni per scaricare il traffico SSL. Ogni destinazione HTTPS il proxy può supportare più certificati SSL (fino al limite massimo supportato) per gestire più applicazioni con domini diversi.
  • Infrastructure as Code (IaC): per gestire l'infrastruttura, l'architettura può essere implementata utilizzando l'IaC. La IaC contribuisce ad assicurare che la tua 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 | Technical Solutions Consultant dello staff

Altri collaboratori: