Choisir votre API d'équilibrage de charge multicluster pour GKE


Cette page vous aide à choisir l'API la plus adaptée pour déployer des équilibreurs de charge afin de répartir le trafic sur un parc de clusters Google Kubernetes Engine (GKE).

Vous pouvez associer un équilibreur de charge à votre parc de clusters GKE de différentes manières :

  1. En utilisant les API Multi Cluster Ingress, telles que les ressources Multi Cluster Ingress et MultiClusterService.

  2. En utilisant les API Gateway (ressources GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport et ServiceImport).

  3. En configurant l'équilibreur de charge d'application à l'aide de la console Google Cloud, de gcloud CLI, de l'API, de Terraform et de Config Connector, et en associant des NEG autonomes aux services de backend gérés par l'utilisateur.

Le tableau suivant liste les différentes manières d'associer un équilibreur de charge à votre parc de clusters GKE. Toutes les fonctionnalités listées sur la page de comparaison des fonctionnalités des équilibreurs de charge, et qui ne sont pas listées dans le tableau suivant, doivent fonctionner avec un équilibreur de charge géré par l'utilisateur associé à des NEG autonomes, plutôt que de compter sur l'API Kubernetes native pour l'équilibrage de charge.

Solution Multi Cluster Ingress Passerelle multicluster Équilibreur de charge géré par l'utilisateur avec des NEG autonomes
Compatibilité avec la plate-forme GKE
Étape de lancement du produit AT AT AT
Éditions GKE Enterprise / Standard Enterprise / Standard Enterprise / Standard
Cluster mode (Mode du cluster) Standard / Autopilot Standard / Autopilot Standard / Autopilot
Version de GKE 1.18 et versions ultérieures GKE 1.24 et versions ultérieures pour un cluster Standard ; GKE 1.26 et versions ultérieures pour un cluster Autopilot 1.18 et versions ultérieures
Architecture et composants
Contrôleur Kubernetes géré par Google
Contrôleur Contrôleur GKE Multi Cluster Ingress GKE Gateway Controller -
Emplacement du contrôleur En dehors du cluster

(infrastructure Google Cloud)

En dehors du cluster

(infrastructure Google Cloud)

-
API API Kubernetes native API Kubernetes native API Google Cloud (gcloud CLI)
Ressources de l'API MultiClusterIngress, MultiClusterService GatewayClass, Gateway, HTTPRoute, *Policy -
Étape de lancement de l'API DG (v1) DG (v1) -
Activation de l'API sur GKE Paramétrage du cluster sur Autopilot / Standard Sur Autopilot par défaut

Paramétrage du cluster sur Standard

-
Compatibilité avec les services multiclusters
Services multiclusters (MCS) requis
Version d'API MCS networking.gke.io/v1 net.gke.io/v1 -
Type de ressource MultiClusterService ServiceExport -
Licence Propriétaire Open Source -
Gestion du cycle de vie des ressources de mise en réseau cloud (à l'exclusion du VPC partagé)
Gestion automatisée des adresses IP d'interface
Gestion automatisée de l'équilibreur de charge cloud
  • Règle de transfert
  • Proxy cible
  • Mappage d'URL
  • Services de backend
  • Vérifications d'état
Gestion automatisée des groupes de points de terminaison du réseau (NEG)

(NEG zonaux uniquement)

(NEG zonaux uniquement)

(NEG zonaux uniquement, annotation requise sur le service Kubernetes)

Gestion de Cloud NGFW

(Règles de pare-feu VPC uniquement, règles gérées)

(Règles de pare-feu VPC uniquement, règles gérées)

Compatibilité avec les VPC partagés
Clusters et parc (hub) dans le projet hôte
Clusters et parc (hub) dans le même projet de service

(avec des autorisations de règles de pare-feu dans le projet hôte)

(avec des autorisations de règles de pare-feu dans le projet hôte)

Clusters et parc (hub) dans des projets différents

(avec référence de services inter-projets)

Compatibilité avec les équilibreurs de charge
Équilibreurs de charge d'application
Classique
Externe global
Externe régional
Régional interne
Interne interrégional
Équilibreurs de charge réseau proxy
Classique
Externe global
Externe régional
Interne (toujours régional)
Équilibreurs de charge réseau passthrough
Externe (toujours régional)
Interne (toujours régional)
Compatibilité avec les protocoles client vers équilibreur de charge
HTTP, HTTPS, HTTP/2
WebSocket
HTTP/3 (basé sur le protocole QUIC d'IETF)
SSL (TLS) ou TCP
Compatibilité avec les backends des équilibreurs de charge
Pods (NEG zonaux)
Machines virtuelles (y compris les nœuds GKE)

(Déconseillé)

Autres backends :
  • Cloud Storage
  • Points de terminaison externes publics (NEG Internet)
  • Points de terminaison externes privés (NEG hybrides)
  • Private Service Connect (NEG PSC)
  • Cloud Run (NEG sans serveur)
Compatibilité avec les protocoles équilibreur de charge vers backends
HTTP, HTTPS, HTTP/2 (l'un de ces éléments)
WebSocket
SSL (TLS) ou TCP (l'un de ces éléments)
Attribution d'adresses IP et protocoles
Attribution d'adresses IP dynamiques
Attribution d'adresses IP statiques
La même adresse IP pour plusieurs ports (HTTP, HTTPS)
IPv6

(Le trafic de l'équilibreur de charge vers le backend reste en IPv4)

(Le trafic de l'équilibreur de charge vers le backend reste en IPv4)

(Le trafic de l'équilibreur de charge vers le backend reste en IPv4)

Routage et gestion du trafic
Accès mondial
Équilibrage de charge entre projets
Routage de l'hôte/du chemin d'accès

(Préfixe, correspondance exacte)

(Préfixe, correspondance exacte)

Routage basé sur en-tête

(Correspondance exacte)

Redirections de chemin d'accès
Réécriture d'URL
Répartition du trafic
Mise en miroir du trafic
Basculement du trafic
Autoscaling basé sur le trafic
En-têtes de requêtes personnalisés
En-têtes de réponse personnalisés
Routage entre espaces de noms
Sécurité d'interface
Règle SSL
Redirection HTTP vers HTTPS
Compatibilité avec plusieurs certificats TLS
Certificats basés sur les secrets Kubernetes
Certificats SSL autogérés
Certificats SSL gérés par Google
Compatibilité avec le gestionnaire de certificats
Propriétés du service de backend
Délai avant expiration du drainage de connexion
Affinité de session
Configuration de la journalisation des accès HTTP
Délai avant expiration du service de backend
Configuration personnalisée de la vérification d'état des équilibreurs de charge

(BackendConfig)

(HealthCheckPolicy)

(gcloud CLI / console Google Cloud / Terraform)

TLS vers services de backend
Backend personnalisé par défaut
Cloud CDN

(Certaines fonctionnalités ne sont pas disponibles.)

(Toutes les fonctionnalités sont disponibles.)

Identity-Aware Proxy (IAP)
Règles de sécurité Google Cloud Armor

Étapes suivantes