Présentation des groupes de points de terminaison du réseau zonaux

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 :

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 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.

Équilibreurs de charge réseau passthrough internes avec des NEG zonaux "GCE_VM_IP" qui se chevauchent.
Équilibreurs de charge réseau passthrough internes avec des NEG zonaux se chevauchant (cliquez pour agrandir).

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 :

Groupes de points de terminaison du réseau zonaux dans le cadre de l'équilibrage de charge.
Groupes de points de terminaison du réseau zonaux dans le cadre de l'équilibrage de charge (cliquez sur l'image pour agrandir).

Pour en savoir plus sur les exigences architecturales de ces équilibreurs de charge, consultez les pages suivantes :

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.

Groupes de points de terminaison du réseau zonaux de l'équilibrage de charge avec des conteneurs.
Groupes de points de terminaison du réseau zonaux de l'équilibrage de charge avec des conteneurs (cliquez sur l'image pour l'agrandir).

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 zonaux GCE_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