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 :
En utilisant les API Multi Cluster Ingress, telles que les ressources Multi Cluster Ingress et MultiClusterService.
En utilisant les API Gateway (ressources GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport et ServiceImport).
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
|
|||
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 | |||
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) | |||
Autres backends :
|
|||
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 | |||
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
- Apprenez à configurer l'objet Ingress multicluster.
- Découvrez comment déployer Ingress dans les clusters.
- Découvrez comment activer la passerelle multicluster.
- Apprenez à déployer des passerelles multiclusters.
- Obtenez des informations sur l'équilibrage de charge natif en conteneurs via des NEG zonaux autonomes.