Questa pagina ti aiuta a scegliere l'API più adatta per eseguire il deployment di bilanciatori del carico per distribuire il traffico in un parco di cluster Google Kubernetes Engine (GKE).
Puoi collegare un bilanciatore del carico al tuo parco risorse di cluster GKE nei seguenti modi:
Utilizza le API Ingress multi-cluster, come le risorse Ingress multi-cluster e MultiClusterService.
Utilizza le API Gateway (risorse GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport e ServiceImport).
Configura il bilanciatore del carico delle applicazioni utilizzando la console Google Cloud , gcloud CLI, API, Terraform, Config Connector e collega NEG autonomi ai servizi di backend gestiti dall'utente.
La tabella seguente elenca i diversi modi in cui puoi collegare un bilanciatore del carico al tuo parco risorse di cluster GKE. Le funzionalità elencate nella pagina Confronto delle funzionalità dei bilanciatori del carico che non sono elencate nella tabella seguente dovrebbero funzionare con un bilanciatore del carico gestito dall'utente con NEG autonomi, anziché fare affidamento sull'API nativa di Kubernetes per il bilanciamento del carico.
Soluzione: | Ingress multi-cluster | Gateway multi-cluster | Bilanciatore del carico gestito dall'utente con NEG autonomi |
---|---|---|---|
Supporto della piattaforma GKE | |||
Fase di lancio del prodotto | GA | GA | GA |
Versioni di GKE | Enterprise / Standard | Enterprise / Standard | Enterprise / Standard |
Modalità cluster | Standard / Autopilot | Standard / Autopilot | Standard / Autopilot |
Versione GKE | 1.18 e versioni successive | GKE 1.24 e versioni successive per Standard e 1.26 e versioni successive per Autopilot | 1.18 e versioni successive |
Architettura e componenti | |||
Controller Kubernetes gestito da Google | |||
Controller | Controller Ingress multi-cluster GKE | GKE Gateway Controller | - |
Posizione del controller | Al di fuori del cluster
(Google Cloud ) |
Al di fuori del cluster
(Google Cloud infrastruttura) |
- |
API | API nativa di Kubernetes | API nativa di Kubernetes | Google Cloud API (gcloud CLI) |
Risorse API | MultiClusterIngress, MultiClusterService | GatewayClass, Gateway, HTTPRoute, *Policy | - |
Fase di lancio dell'API | GA (v1) | GA (v1) | - |
Abilitazione dell'API su GKE | Impostazione del cluster su Autopilot / Standard | Impostazione predefinita su Autopilot
Impostazione del cluster su Standard |
- |
Supporto dei servizi multi-cluster | |||
Sono richiesti i servizi multi-cluster (MCS) | |||
Versione dell'API MCS | networking.gke.io/v1 | net.gke.io/v1 | - |
Tipo di risorsa | MultiClusterService | ServiceExport | - |
Licenza | Soluzione proprietaria | Open source | - |
Gestione del ciclo di vita delle risorse Cloud Networking (escluso VPC condiviso) | |||
Gestione automatica degli indirizzi IP del frontend | |||
Gestione automatica di Cloud Load Balancing
|
|||
Gestione automatica dei gruppi di endpoint di rete (NEG) |
(Solo NEG a livello di zona) |
(Solo NEG a livello di zona) |
(solo NEG zonali, è richiesta l'annotazione sul servizio Kubernetes) |
Gestione di Cloud NGFW |
(solo regole firewall VPC, regole gestite) |
(solo regole firewall VPC, regole gestite) |
|
Supporto per il VPC condiviso | |||
Cluster e parco risorse (hub) nel progetto host | |||
Cluster e parco risorse (hub) nello stesso progetto di servizio |
(con autorizzazioni per le regole firewall nel progetto host) |
(con autorizzazioni per le regole firewall nel progetto host) |
|
Cluster e parco risorse (hub) in progetti diversi | |||
Supporto dei bilanciatori del carico | |||
Bilanciatori del carico delle applicazioni | |||
Classico | |||
Esterno globale | |||
Esterno regionale | |||
Interno a livello di regione | |||
Interno tra regioni | |||
Bilanciatori del carico di rete proxy | |||
Classico | |||
Esterno globale | |||
Esterno regionale | |||
Interno (sempre a livello di regione) | |||
Bilanciatori del carico di rete passthrough | |||
Esterno (sempre regionale) | |||
Interno (sempre a livello di regione) | |||
Supporto dei protocolli client-to-load balancer | |||
HTTP, HTTPS, HTTP/2 | |||
WebSocket | |||
HTTP/3 (basato su QUIC IETF) | |||
SSL (TLS) o TCP | |||
Supporto dei backend bilanciatore del carico | |||
Pod (NEG a livello di zona) | |||
Macchine virtuali (inclusi i nodi GKE) | |||
Altri backend:
|
|||
Supporto dei protocolli del bilanciatore del carico ai backend | |||
HTTP, HTTPS, HTTP/2 (uno dei tre) | |||
WebSocket | |||
SSL (TLS) o TCP (uno dei due) | |||
Indirizzi IP e protocolli | |||
Assegnazione di indirizzi IP dinamici | |||
Assegnazione di indirizzi IP statici | |||
Stesso indirizzo IP per più porte (HTTP, HTTPS) | |||
IPv6 |
(il traffico dal bilanciatore del carico al backend rimane IPv4) |
(il traffico dal bilanciatore del carico al backend rimane IPv4) |
(il traffico dal bilanciatore del carico al backend rimane IPv4) |
Routing e gestione del traffico | |||
Accesso globale | |||
Bilanciamento del carico tra progetti | |||
Routing host/percorso |
(Prefisso, Corrispondenza esatta) |
(Prefisso, Corrispondenza esatta) |
|
Routing basato su intestazione |
(corrispondenza esatta) |
||
Reindirizzamenti del percorso | |||
Riscritture degli URL | |||
Suddivisione del traffico | |||
Mirroring del traffico | |||
Passaggio del traffico | |||
Scalabilità automatica basata sul traffico | |||
Intestazioni delle richieste personalizzate | |||
Intestazioni delle risposte personalizzate | |||
Routing tra spazi dei nomi | |||
Sicurezza frontend | |||
Policy SSL | |||
Reindirizzamento da HTTP a HTTPS | |||
Supporto di più certificati TLS | |||
Certificati basati su secret Kubernetes | |||
Certificati SSL con gestione indipendente | |||
Certificati SSL gestiti da Google | |||
Assistenza per Gestore certificati | |||
Proprietà del servizio di backend | |||
Timeout per svuotamento della connessione | |||
Affinità sessione | |||
Configurazione del logging dell'accesso HTTP | |||
Timeout del servizio di backend | |||
Configurazione del controllo di integrità del bilanciatore del carico personalizzato | |||
TLS ai servizi di backend | |||
Backend predefinito personalizzato | |||
Cloud CDN |
(non tutte le funzionalità) |
(Tutti gli eventi) |
|
Identity-Aware Proxy (IAP) | |||
Criterio di sicurezza di Google Cloud Armor |
Passaggi successivi
- Configura Ingress multi-cluster.
- Deployment di Ingress in diversi cluster.
- Attiva il gateway multi-cluster.
- Esegui il deployment di gateway multi-cluster.
- Bilanciamento del carico nativo del container tramite NEG zonali autonomi.