Gestisci e scala la rete per le applicazioni Windows in esecuzione su Kubernetes gestito

Last reviewed 2024-08-14 UTC

Questa architettura di riferimento fornisce una soluzione scalabile e a disponibilità elevata 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 il traffico di rete utilizzando un servizio in grado di instradare il traffico verso i pod e verso un proxy open source compatibile con xDS. L'utilizzo di un'architettura come questa può contribuire a ridurre i costi e migliorare la gestione della rete.

Questo documento è destinato agli architetti cloud, agli amministratori di rete e ai professionisti IT 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 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 verso i NEG per ogni pod GKE. Ogni percorso è mappato a un scope specifico. scope identifica in modo univoco un gateway in entrata Cloud Service Mesh.
  • Route HTTP che vengono mappate ai servizi di backend per Cloud Service Mesh.
  • Envoy Pod container 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 che corrispondono 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 ai gateway Envoy.

Prodotti utilizzati

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

Google Cloud prodotti

  • 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 delle applicazioni 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 di rete semplificata: i gateway Cloud Service Mesh ed Envoy forniscono una gestione di rete semplificata tramite un control plane centralizzato che gestisce il traffico di rete verso le applicazioni. Queste applicazioni possono essere Linux o Windows ed essere eseguite su GKE o Compute Engine. L'utilizzo di questo schema di gestione della rete semplificato 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à per le tue applicazioni bilanciando il carico del traffico su più pod.

Maggiore sicurezza: utilizza i gateway Envoy per aggiungere funzionalità di sicurezza alle tue applicazioni Linux e Windows, come terminazione SSL, autenticazione e 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.

Considerazioni sulla progettazione

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 verso i container Windows. La crittografia in transito contribuisce 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 di errore: questa architettura è a tolleranza di errore 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 problemi di prestazioni.
  • Monitoraggio: l'architettura utilizza Google Cloud Managed Service per Prometheus e Suite operativa di Google Cloud per monitorare lo stato di integrità dei gateway Envoy e dei container Windows. Il monitoraggio ti aiuta a identificare i problemi in anticipo e potenzialmente a evitare che interrompano le tue applicazioni.

Ottimizzazione dei costi

  • Scegli i tipi di istanza giusti per i tuoi carichi di lavoro: considera i seguenti fattori quando scegli i tipi di istanza:
    • Il numero di vCPU e la quantità di memoria richiesti dalle tue applicazioni
    • Il carico di traffico previsto per le tue applicazioni
    • La necessità per gli utenti di disporre di 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 tue applicazioni Windows. L'utilizzo di un routing più efficiente può contribuire a ridurre la quantità di larghezza di banda che devi acquistare. Può anche contribuire a migliorare il rendimento di queste applicazioni.

  • Utilizza 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 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 la tua infrastruttura sia coerente e ripetibile.

Deployment

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

Passaggi successivi

Collaboratori

Autore: Eitan Eibschutz | Staff Technical Solutions Consultant

Altri collaboratori: