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.
Les NEG sont utiles, car ils vous permettent de créer des regroupements logiques d'adresses IP et de ports représentant des services logiciels au lieu de VM entières. Les adresses IP des microservices (exécutés sur les VM Google Cloud) gérées par d'autres outils d'orchestration tels qu'Apache Mesos ou Cloud Foundry peuvent constituer des points de terminaison.
Pour en savoir plus sur les autres types de NEG, consultez les pages suivantes :
- Présentation des groupes de points de terminaison du réseau
- Présentation des groupes de points de terminaison du réseau Internet
- Présentation des groupes de points de terminaison du réseau sans serveur
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.
- NEG zonaux avec des points de terminaison
GCE_VM_IP_PORT
: acceptés comme backends pour les équilibreurs de charge suivants : - NEG zonaux avec des points de terminaison
GCE_VM_IP
: compatibles avec les backends pour les équilibreurs de charge suivants :
NEG avec points de terminaison GCE_VM_IP
Les équilibreurs de charge réseau passthrough sont compatibles avec les NEG zonaux dotés de points de terminaison GCE_VM_IP
. Ces NEG zonaux contiennent un ou plusieurs points de terminaison représentés à l'aide de l'adresse IPv4 interne principale de l'interface réseau d'une VM Compute Engine.
Même si Google Cloud utilise une adresse IP pour représenter le point de terminaison, l'objectif d'un point de terminaison GCE_VM_IP
est d'identifier l'interface réseau elle-même. L'interface réseau doit se trouver dans le sous-réseau du NEG.
É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 une ou plusieurs des combinaisons d'adresses IP, ou de ports de destination et d'adresses IP suivantes :
- L'adresse IPv4 interne principale d'une interface réseau de VM
- L'adresse IPv4 interne principale d'une interface réseau de VM plus un numéro de port de destination
- Une adresse IPv4 interne issue de la plage d'adresses IP d'alias attribuée à une interface réseau de VM
- Une 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
L'interface réseau contenant le point de terminaison GCE_VM_IP_PORT
doit se trouver dans le sous-réseau du 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.
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écification du point de terminaison
Lorsque vous créez un NEG, vous sélectionnez une zone, un réseau et un sous-réseau. Chaque adresse IP de point de terminaison doit se trouver dans le même sous-réseau que le NEG zonal.
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_PORT
Les conditions suivantes doivent être remplies pour les NEG zonaux GCE_VM_IP_PORT
:
Vous devez spécifier le nom de chaque point de terminaison de la VM.
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é dans 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 l'adresse IP interne principale de la VM sur l'interface réseau ou une adresse IP d'alias sur l'interface réseau. Vous pouvez indiquer le port de votre choix.
Si vous ne spécifiez qu'une adresse IP, celle-ci peut être l'adresse IP interne principale sur l'interface réseau ou une adresse IP d'alias sur l'interface réseau. Le port utilisé est le port par défaut du NEG.
Si vous ne spécifiez aucun de ces deux éléments, Google Cloud sélectionne l'adresse IP interne principale de la VM et utilise le port par défaut du NEG.
NEG zonaux GCE_VM_IP
Les conditions suivantes doivent être remplies pour les NEG zonaux GCE_VM_IP
:
Vous devez spécifier le nom de chaque point de terminaison de la VM.
Toutes les VM doivent se trouver dans la même zone que le NEG.
Chaque point de terminaison d'un NEG
GCE_VM_IP
doit ê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_IP
est toujours associé à un réseau et à un sous-réseau. Lorsque vous ajoutez un point de terminaison, vous pouvez choisir de spécifier ou non une adresse IP. Si une adresse IP est spécifiée, elle doit être définie sur l'adresse IP interne principale de l'instance de VM associée qui correspond au sous-réseau du NEG. L'adresse IP interne principale 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 correspond au sous-réseau du 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.
É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 que pour les services de backend des équilibreurs de charge réseau passthrough internes et des é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
.
Regroupement 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_PORT
repré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_IP
ne 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-port
n'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.