Un groupe de points de terminaison du réseau (NEG) est un objet de configuration qui spécifie un groupe de points de terminaison ou de services de backend. Les NEG zonaux sont des ressources zonales qui représentent des collections d'adresses IP ou de combinaisons adresses IP/port pour les ressources Google Cloud faisant partie d'un même sous-réseau.
Vous pouvez considérer un groupe de points de terminaison du réseau comme un ensemble de points de terminaison du réseau. Chaque point de terminaison d'un NEG doit pointer vers une adresse IP unique de l'interface réseau d'une VM. Un point de terminaison du réseau appartient à un seul groupe de points de terminaison du réseau. Une même adresse IP ne peut pas être référencée par plusieurs points de terminaison dans un NEG. Toutefois, une même adresse IP peut être référencée par des points de terminaison dans différents NEG. Le schéma suivant présente une représentation stylisée de ce concept. Dans le schéma, "Adresse IP - 2" et "Adresse IP - 3" sont référencées par des points de terminaison réseau situés dans différents groupes de points de terminaison réseau.
Les NEG zonaux vous permettent d'effectuer les opérations suivantes :
Acheminez les paquets vers n'importe quelle interface réseau d'une instance de VM, y compris les interfaces autres que
nic0. Cela vous permet de créer des regroupements logiques d'adresses IP et de ports représentant des services logiciels au lieu de VM entières.Créez un ensemble flexible d'adresses IP où une adresse IP peut être associée à plusieurs NEG, et où chaque NEG peut avoir un ensemble d'adresses IP différent, mais qui peuvent se chevaucher.
Deux types de NEG zonaux sont disponibles, en fonction du type de points de terminaison du réseau qui constituent le NEG. Les deux types de NEG zonaux sont compatibles avec différents cas d'utilisation et différents types d'équilibreurs de charge.
Les NEG zonaux avec des points de terminaison
GCE_VM_IPsont compatibles avec les backends pour les équilibreurs de charge suivants :Les NEG zonaux avec des points de terminaison
GCE_VM_IP_PORTsont compatibles avec les backends pour les équilibreurs de charge basés sur un proxy suivants :
NEG avec points de terminaison GCE_VM_IP
Ces NEG zonaux contiennent un ou plusieurs points de terminaison GCE_VM_IP, chacun ayant une adresse IPv4 interne principale de l'interface réseau d'une VM Compute Engine.
Avec un point de terminaison GCE_VM_IP, vous sélectionnez l'adresse IP principale d'une interface réseau. Le niveau de précision qu'il offre est donc semblable à celui obtenu en sélectionnant directement une interface réseau.
Un point de terminaison GCE_VM_IP ne peut pas pointer vers une adresse IP d'une plage d'adresses IPv4 d'alias.
L'interface réseau référencée par le point de terminaison GCE_VM_IP doit se trouver dans le même sous-réseau que le NEG.
Comme indiqué dans le tableau suivant, les points de terminaison GCE_VM_IP peuvent faire référence à une interface réseau de VM dont le type de pile peut être IPv4 uniquement ou double pile.
Vous ne pouvez pas ajouter de point de terminaison à la fois IPv4 et IPv6 (un "point de terminaison double pile") à un NEG zonal GCE_VM_IP. En d'autres termes, vous ne pouvez utiliser qu'une seule adresse IP lorsque vous créez un point de terminaison GCE_VM_IP. Toutefois, les points de terminaison NEG zonaux GCE_VM_IP peuvent faire référence à l'interface réseau d'une VM dont le type de pile est IPv4 uniquement ou à double pile.
| Point de terminaison réseau | Interface réseau de VM compatible |
|---|---|
| Point de terminaison IPv4 (principal) | Interface IPv4 uniquement |
| Point de terminaison IPv4 (principal) | Interface à double pile |
Étant donné qu'un point de terminaison GCE_VM_IP identifie une interface réseau, vous ne pouvez pas spécifier de port avec un point de terminaison GCE_VM_IP.
Ces types de points de terminaison ne peuvent être utilisés que comme backends dans les services de backend pour les équilibreurs de charge réseau passthrough internes et les équilibreurs de charge réseau passthrough externes.
NEG avec points de terminaison GCE_VM_IP_PORT
Ces NEG zonaux contiennent un ou plusieurs points de terminaison GCE_VM_IP_PORT, chacun d'eux ayant l'une des combinaisons d'adresses IP suivantes avec le port de destination :
Adresse IPv4 principale + port : adresse IPv4 interne principale d'une interface réseau de VM plus un numéro de port de destination
Adresse IPv4 d'alias + port : adresse IPv4 interne de la plage d'adresses IP d'alias attribuée à une interface réseau de VM, plus un numéro de port de destination
Adresse IPv4 principale + adresse IPv6 + port : adresse IPv4 interne principale d'une interface réseau de VM et toute adresse IPv6 (
/128) d'une plage/96attribuée à une interface réseau de VM, plus un numéro de port de destinationAdresse IPv4 d'alias + n'importe quelle adresse IPv6 + port : adresse IPv4 interne de la plage d'adresses IP d'alias attribuée à une interface réseau de VM et n'importe quelle adresse IPv6(
/128) d'une plage/96attribuée à une interface réseau de VM, plus un numéro de port de destination
Contrairement à un point de terminaisonGCE_VM_IP, un point de terminaisonGCE_VM_IP_PORT vous permet de sélectionner non seulement l'adresse IP principale d'une interface réseau, mais aussi n'importe quelle adresse IP. Le niveau de précision qu'un point de terminaisonGCE_VM_IP_PORT offre est donc supérieur à celui d'une simple sélection d'interface réseau.
L'interface réseau référencée par le point de terminaison GCE_VM_IP_PORT doit se trouver dans le même sous-réseau que le NEG. Lorsque vous omettez un numéro de port d'un point de terminaison GCE_VM_IP_PORT, Google Cloud utilise le numéro de port par défaut du NEG pour le point de terminaison.
Comme indiqué dans le tableau suivant, les points de terminaison GCE_VM_IP_PORT peuvent faire référence à une interface réseau de VM dont le type de pile peut être IPv4 uniquement ou double pile.
| Point de terminaison réseau | Interface réseau de VM compatible |
|---|---|
| Point de terminaison IPv4 (principal ou alias) | Interface IPv4 uniquement |
| Point de terminaison IPv4 (principal ou alias) | Interface à double pile |
Point de terminaison IPv4 (principal ou alias) et IPv6 (n'importe quel point de terminaison d'une plage Également appelé point de terminaison "double pile" |
Interface à double pile |
Les backends NEG zonaux vous permettent de spécifier les adresses IP et les ports. Par conséquent, vous pouvez répartir le trafic de manière précise entre les applications ou les conteneurs exécutés au sein des instances de VM — équilibrage de charge natif en conteneurs.
GKE utilise des points de terminaison GCE_VM_IP_PORT pour :
Vous pouvez créer des équilibreurs de charge autogérés qui utilisent des NEG zonaux dont les points de terminaison GCE_VM_IP_PORT sont gérés par GKE. Pour en savoir plus, consultez la section Équilibrage de charge natif en conteneurs via des NEG zonaux autonomes.
Les équilibreurs de charge d'application et les équilibreurs de charge réseau proxy sont compatibles avec les NEG zonaux dotés de points de terminaison GCE_VM_IP_PORT.
Spécifications des points de terminaison
Lorsque vous créez un NEG, vous sélectionnez une zone, un réseau et un sous-réseau.
Si le réseau que vous sélectionnez est un réseau VPC en mode automatique, vous pouvez omettre de spécifier le sous-réseau. Cependant, un sous-réseau est toujours associé au NEG zonal. Si vous spécifiez un réseau VPC automatique sans spécifier de sous-réseau lors de la création d'un NEG zonal, le sous-réseau utilisé est le sous-réseau créé automatiquement dans la zone sélectionnée pour le NEG zonal.
Vous spécifiez le type du NEG zonal lorsque vous en créez un (GCE_VM_IP ou GCE_VM_IP_PORT). Cela détermine les types de points de terminaison acceptés par le NEG.
NEG zonaux GCE_VM_IP
Dans un NEG donné, chaque point de terminaison GCE_VM_IP représente une interface réseau.
Les conditions suivantes doivent être remplies pour les NEG zonaux GCE_VM_IP :
Vous devez spécifier le nom de la VM pour chaque point de terminaison.
Toutes les VM doivent se trouver dans la même zone que le NEG.
Chaque point de terminaison d'un NEG
GCE_VM_IPdoit être une adresse IP unique. Une adresse IP de point de terminaison unique peut être référencée par plusieurs NEG.Chaque NEG
GCE_VM_IPest toujours associé à un réseau et à un sous-réseau. L'adresse IP de n'importe quelle interface réseau d'une instance de VM à plusieurs cartes d'interface réseau peut être ajoutée à un NEG tant qu'elle se trouve dans le même sous-réseau que le NEG.Chaque NEG peut gérer plusieurs points de terminaison dans la limite du nombre maximal autorisé par NEG. Les points de terminaison doivent être répartis entre toutes les VM uniques. Plusieurs points de terminaison ne peuvent pas être situés sur une seule VM, car une VM ne peut pas être associée à plusieurs interfaces réseau ayant le même sous-réseau.
Lorsque vous ajoutez un point de terminaison pour un NEG GCE_VM_IP, vous pouvez choisir de spécifier ou non l'adresse IP :
Si l'adresse IP est spécifiée, elle doit être définie sur l'adresse IPv4 interne principale de l'interface réseau de la VM.
Si vous omettez l'adresse IP, elle est sélectionnée en fonction de l'interface réseau qui se trouve dans le sous-réseau du NEG. Si le point de terminaison fait référence à une interface réseau IPv4 uniquement ou à double pile, l'adresse IPv4 interne principale de l'interface réseau de la VM est sélectionnée comme adresse IP du point de terminaison.
Notez que la spécification d'une adresse IP est redondante, car une seule interface réseau peut se trouver dans le sous-réseau associé au NEG.
NEG zonaux GCE_VM_IP_PORT
Dans un NEG donné, chaque point de terminaison GCE_VM_IP_PORT peut représenter non seulement l'adresse IP principale d'une interface réseau, mais aussi n'importe quelle adresse IP d'une interface réseau.
Les conditions suivantes doivent être remplies pour les NEG zonaux GCE_VM_IP_PORT :
Vous devez spécifier le nom de la VM pour chaque point de terminaison.
Toutes les VM doivent se trouver dans la même zone que le NEG.
Chaque point de terminaison du NEG doit correspondre à une combinaison unique d'adresse IP et de port. Plusieurs NEG peuvent faire référence à une combinaison unique d'adresse IP et de port d'un point de terminaison.
Chaque VM du point de terminaison doit posséder une interface réseau sur le même réseau VPC que le NEG. Les adresses IP des points de terminaison doivent être associées au même sous-réseau que celui spécifié pour le NEG.
Chaque NEG peut gérer plusieurs points de terminaison dans la limite du nombre maximal autorisé par NEG. Les points de terminaison peuvent être répartis entre plusieurs VM uniques ou tous se situer sur une même VM.
Lorsque vous ajoutez un point de terminaison à un NEG GCE_VM_IP_PORT, vous pouvez choisir de spécifier une adresse IP et un port, seulement une adresse IP, ou aucun des deux :
Si vous spécifiez une adresse IP et un port, l'adresse IP peut être une adresse IPv4 ou une adresse IPv4 et une adresse IPv6. Vous pouvez choisir le port utilisé. Une façon intuitive de penser aux différentes combinaisons est décrite dans la section NEG avec des points de terminaison
GCE_VM_IP_PORTde ce document.L'adresse IPv4 peut être l'adresse IPv4 interne principale ou une adresse IPv4 interne issue de la plage d'adresses IP d'alias sur l'interface réseau. L'adresse IPv6 peut être n'importe quelle adresse IPv6 (
/128) d'une plage/96attribuée à une interface réseau de VM. Vous pouvez choisir le port utilisé.Si vous ne spécifiez qu'une adresse IP, celle-ci peut être une adresse IPv4 ou une adresse IPv4 et une adresse IPv6. Le port utilisé est le numéro de port par défaut du NEG pour le point de terminaison. Une façon intuitive de penser aux différentes combinaisons est décrite dans la section NEG avec des points de terminaison
GCE_VM_IP_PORTde ce document.L'adresse IPv4 peut être l'adresse IPv4 interne principale ou une adresse IPv4 interne issue de la plage d'adresses IP d'alias sur l'interface réseau. L'adresse IPv6 peut être n'importe quelle adresse IPv6 (
/128) d'une plage/96attribuée à une interface réseau de VM. Le port utilisé est le numéro de port par défaut du NEG pour le point de terminaison.Si vous ne spécifiez pas l'adresse IP ni le port, l'adresse IP est sélectionnée en fonction de l'interface réseau qui se trouve dans le sous-réseau du NEG. Si le point de terminaison fait référence à une interface réseau IPv4 uniquement ou à double pile, l'adresse IPv4 interne principale de l'interface réseau de la VM est sélectionnée comme adresse IP du point de terminaison.
Quant au port, Google Cloud utilise le numéro de port par défaut du NEG pour le point de terminaison.
Équilibrage de charge avec des NEG zonaux
Les NEG zonaux peuvent être utilisés comme backends pour les services de backend d'un équilibreur de charge.
Lorsque vous utilisez un NEG zonal en tant que backend pour un service de backend, tous les autres backends de ce service doivent également être des NEG zonaux du même type (GCE_VM_IP ou GCE_VM_IP_PORT). Vous ne pouvez pas utiliser à la fois des groupes d'instances et des NEG zonaux comme backends dans le même service de backend.
Vous pouvez ajouter le même point de terminaison du réseau à plusieurs NEG zonaux. Vous pouvez utiliser le même NEG zonal en tant que backend pour plusieurs services de backend.
Les NEG zonaux GCE_VM_IP_PORT peuvent utiliser le mode d'équilibrage RATE ou le mode d'équilibrage CONNECTION en fonction du protocole du service de backend. Vous devez définir la capacité cible des équilibreurs de charge acceptés.
Les NEG zonaux GCE_VM_IP doivent utiliser le mode d'équilibrage CONNECTION. En outre, les équilibreurs de charge réseau passthrough internes et les équilibreurs de charge réseau passthrough externes ne sont pas compatibles avec le paramètre de capacité cible.
Équilibreurs de charge réseau passthrough
Les NEG zonaux dotés de points de terminaison GCE_VM_IP ne peuvent être utilisés comme backends pour les services de backend que pour les équilibreurs de charge réseau passthrough internes et les équilibreurs de charge réseau passthrough externes.
Consultez les sections suivantes pour connaître les principaux cas d'utilisation des NEG dotés des points de terminaison GCE_VM_IP.
Groupement flexible des points de terminaison
Comme pour les groupes d'instances, vous pouvez utiliser le même NEG comme backend pour plusieurs équilibreurs de charge réseau passthrough internes. Contrairement aux groupes d'instances, un point de terminaison NEG peut appartenir à plusieurs NEG, chacun d'eux pouvant être utilisé comme backend pour un ou plusieurs équilibreurs de charge passthrough internes. Par rapport aux groupes d'instances, vous n'êtes pas limité par le fait qu'une instance de VM ne peut faire partie que d'un seul groupe d'instances.
La figure suivante montre un exemple d'architecture d'équilibreur de charge réseau passthrough interne avec une VM partagée.
Interfaces non nic0 en tant que points de terminaison de backend
Les NEG zonaux avec des points de terminaison GCE_VM_IP permettent l'équilibrage de charge vers des interfaces réseau non-nic0 des VM. Cette option peut s'avérer utile lors de l'intégration avec des VM de dispositif tiers qui réservent généralement nic0 pour les opérations de gestion. Avec les NEG GCE_VM_IP, une interface réseau autre que nic0 de la même VM peut être associée à un backend de NEG d'un équilibreur de charge réseau passthrough.
Sous-paramètre GKE
GKE utilise des NEG zonaux GCE_VM_IP et un sous-paramètre pour améliorer l'évolutivité des équilibreurs de charge passthrough internes de la manière suivante :
Sans sous-paramètre, GKE crée un groupe d'instances non géré par zone, constitué des nœuds du cluster issus de tous les pools de nœuds de cette zone. Ces groupes d'instances zonaux sont utilisés comme backends pour un ou plusieurs services LoadBalancer (et pour les objets Ingress externes n'utilisant pas de NEG).
Avec un sous-paramètre, GKE crée des NEG zonaux GCE_VM_IP pour chaque service LoadBalancer interne. Le même point de terminaison peut appartenir à plusieurs NEG zonaux. Contrairement aux groupes d'instances, Google Cloud peut équilibrer la charge sur plusieurs NEG zonaux contenant le même point de terminaison.
Le sous-paramètre répartit plus efficacement le trafic vers les services LoadBalancer internes des clusters comptant plus de 250 nœuds. Par exemple, un cluster GKE de 300 nœuds peut disposer d'un service LoadBalancer interne avec 25 nœuds au sein d'un NEG, car ce service contient 25 pods actifs. Les 300 nœuds ne doivent pas tous être ajoutés au backend d'un groupe d'instances pour ce service.
Notez que les quotas pour les NEG, les règles de transfert, les services de backend et d'autres ressources de mise en réseau Google Cloud continuent de s'appliquer.
Pour en savoir plus, consultez la section Utiliser le sous-paramètre d'équilibrage de charge réseau passthrough interne.
Équilibreurs de charge d'application et équilibreurs de charge réseau proxy
Les illustrations suivantes présentent les composants de configuration des équilibreurs de charge où les NEG zonaux avec des points de terminaison GCE_VM_IP_PORT sont les backends :
Pour en savoir plus sur les exigences architecturales de ces équilibreurs de charge, consultez les pages suivantes :
- Présentation de l'équilibreur de charge d'application externe
- Présentation de l'équilibreur de charge d'application interne
- Présentation de l'équilibreur de charge réseau proxy externe
- Présentation de l'équilibreur de charge réseau proxy interne
Le principal cas d'utilisation des NEG zonaux GCE_VM_IP_PORT est l'équilibrage de charge natif en conteneurs, qui permet de répartir directement le trafic vers les conteneurs s'exécutant sur des VM (par exemple, vers les adresses IP des pods dans les clusters GKE).
L'équilibrage de charge natif en conteneurs permet aux équilibreurs de charge de cibler directement les pods et de prendre des décisions sur la distribution de la charge au niveau du pod plutôt qu'au niveau de la VM.
L'exemple suivant montre comment les équilibreurs de charge répartissent le trafic entre les microservices exécutés dans des conteneurs sur vos VM. Les VM sont configurées pour utiliser des plages d'adresses IP d'alias situées dans leurs sous-réseaux, qui sont également utilisées par les conteneurs.
Il existe deux manières de configurer l'équilibrage de charge natif en conteneurs : utiliser des NEG gérés par GKE Ingress ou des NEG autonomes.
Kubernetes Ingress avec des NEG (méthode recommandée)
Lorsque des groupes de points de terminaison du réseau sont utilisés avec Ingress, le contrôleur d'entrée facilite la création de tous les aspects d'un équilibreur de charge HTTP(S). Cela inclut la création de l'adresse IP virtuelle, des règles de transfert, des vérifications d'état, des règles de pare-feu, etc. Pour savoir comment configurer cela, consultez la page Équilibrage de charge natif en conteneurs via Ingress.
L'objet Ingress constitue la méthode recommandée pour utiliser les Negs pour l'équilibrage de charge natif en conteneurs, car il comporte de nombreuses fonctionnalités qui simplifient la gestion des NEG. Vous pouvez également créer un équilibreur de charge proxy manuellement, mais demander à GKE de gérer l'appartenance aux points de terminaison NEG, comme décrit dans le point suivant (NEG autonome).
Pour obtenir des instructions sur la configuration d'un équilibreur de charge via Ingress, consultez la page Équilibrage de charge natif en conteneurs via Ingress.
NEG autonomes
Les NEG autonomes permettent à votre cluster GKE de créer des NEG zonaux avec des points de terminaison
GCE_VM_IP_PORTreprésentant les adresses IP des pods et les ports des conteneurs, tout en vous permettant de configurer les composants de l'équilibreur de charge en dehors de GKE.Pour voir des exemples d'utilisation des NEG zonaux autonomes avec GKE, consultez les pages suivantes :
Limites
- Vous ne pouvez pas utiliser de NEG zonaux avec les anciens réseaux.
- Un service de backend utilisant des NEG comme backends ne peut pas utiliser également des groupes d'instances comme backends.
Limites des NEG zonaux GCE_VM_IP
- Les NEG zonaux dotés de points de terminaison
GCE_VM_IPne sont compatibles qu'avec les équilibreurs de charge réseau passthrough internes et les équilibreurs de charge réseau passthrough externes. - La propriété
default-portn'est pas disponible dans les NEG zonauxGCE_VM_IP.
Quotas
- Pour en savoir plus sur les quotas NEG, tels que les NEG par projet, les NEG par service de backend et les points de terminaison par NEG, reportez-vous à la page quotas d'équilibrage de charge.
Étapes suivantes
- Consultez la page Configurer des groupes de points de terminaison du réseau zonaux pour en savoir plus sur la configuration des NEG zonaux.
- Consultez la page Équilibrage de charge natif en conteneurs via Ingress pour en savoir plus sur l'utilisation des NEG zonaux dans Google Kubernetes Engine.