Zonale NEGs einrichten

Dieses Dokument enthält eine Anleitung zum Konfigurieren von zonalen Netzwerk-Endpunktgruppen (NEGs). Bevor Sie zonale NEGs konfigurieren, lesen Sie Übersicht über Netzwerk-Endpunktgruppen.

Zonale NEGs mit GCE_VM_IP-Endpunkten

Sie können als Back-Ends für Back-End-Dienste in internen Passthrough-Network-Load-Balancern und externen Passthrough-Network-Load-Balancern verwendet werden. Weitere Informationen finden Sie unter Zonale NEGs – Load-Balancing.

End-to-End-Beispiele finden Sie in den folgenden Abschnitten:

Zonale NEGs mit GCE_VM_IP_PORT-Endpunkten

Sie können als Backends für Backend-Dienste in den folgenden Arten von Load-Balancern verwendet werden:

Der primäre Anwendungsfall für zonale GCE_VM_IP_PORT-NEGs ist containernatives Load-Balancing. Damit können Sie den Traffic auf Mikrodienste verteilen, die in Containern auf Ihren VMs ausgeführt werden. Containernatives Load-Balancing ermöglicht Load-Balancern, Pods direkt anzusteuern und Entscheidungen zur Lastverteilung auf Pod- statt auf VM-Ebene zu treffen.

Es gibt zwei Möglichkeiten, das containernative Load-Balancing zu konfigurieren: Sie können entweder von GKE Ingress verwaltete NEGs verwenden oder eigenständige NEGs.

Weitere Informationen finden Sie unter:

Zonale NEGs konfigurieren

Im Folgenden wird beschrieben, wie zonale NEGs vor oder nach dem Erstellen eines Load-Balancers konfiguriert werden. Einige dieser Aktionen gelten nicht für zonale NEGs, die von Ingress erstellt und verwaltet werden.

Zonale Netzwerk-Endpunktgruppe erstellen

Console

So erstellen Sie eine zonale Netzwerk-Endpunktgruppe:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "Netzwerk-Endpunktgruppen"
  2. Klicken Sie auf NETZWERK-ENDPUNKTGRUPPE ERSTELLEN.
  3. Wählen Sie für den Typ der Netzwerk-Endpunktgruppe den Netzwerk-Endpunkttyp: Zonal aus.
  4. Geben Sie den Namen der Netzwerk-Endpunktgruppe ein.
  5. Wählen Sie als Typ des Netzwerkendpunkts die Option Netzwerkendpunktgruppe (zonal) aus.
  6. Wählen Sie den Endpunkttyp aus, der zum verwendeten Load Balancer passt.
  7. Wählen Sie das Netzwerk aus.
  8. Wählen Sie das Subnetzwerk aus.
  9. Wählen Sie die Zone aus.
  10. Geben Sie für zonale Negs mit nur GCE_VM_IP_PORT-Endpunkten einen Standardport ein.
  11. Klicken Sie auf Erstellen.

gcloud

Zonalen GCE_VM_IP_PORT-NEG erstellen

gcloud compute network-endpoint-groups create NEG_NAME \
    --zone=ZONE \
    --network=NETWORK
    [--subnet=SUBNET]
    [--default-port=DEFAULT_PORT]

In diesem Befehl werden die Flags so definiert:

  • NEG_NAME ist der Name der neuen Netzwerk-Endpunktgruppe. Der Name darf innerhalb der Zone nur einmal vorkommen.
  • ZONE ist der Name der Zone, in der die NEG erstellt wurde.
  • NETWORK ist der Name des Netzwerks, in dem die NEG erstellt wurde. Wenn diese Angabe fehlt, verwendet Google Cloud das Netzwerk default.
  • SUBNET ist der Name des Subnetzes, zu dem die Netzwerkendpunkte gehören. Dieses Flag ist optional, wenn es sich um ein VPC-Netzwerk im automatischen Modus handelt. Wenn diese Angabe fehlt, befindet sich die NEG im automatisch erstellten Subnetz der Region der ausgewählten Zone. Das Flag ist erforderlich, wenn es sich um ein VPC-Netzwerk im benutzerdefinierten Modus handelt, oder wenn Sie ein manuell erstelltes Subnetz angeben.
  • DEFAULT_PORT ist der Standardport, der der NEG zugeordnet ist. Dieses Flag ist optional. Wenn das Flag nicht gesetzt wird, müssen alle Endpunkte mit IP:port angegeben werden. Wenn das Flag gesetzt wird, können Sie den Abschnitt port in der Endpunktspezifikation weglassen. Es wird dann vorausgesetzt, dass der Standardport verwendet werden soll.

Zonalen GCE_VM_IP-NEG erstellen

Wenn Sie eine zonale GCE_VM_IP-Netzwerk-Endpunktgruppe erstellen möchten, müssen Sie network-endpoint-type wie hier gezeigt angeben: gcloud compute network-endpoint-groups create

gcloud compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=gce-vm-ip \
    --zone=ZONE \
    --network=NETWORK
    --subnet=SUBNET

In diesem Befehl werden die Flags so definiert:

  • NEG_NAME ist der Name der neuen Netzwerk-Endpunktgruppe. Der Name darf innerhalb der Zone nur einmal vorkommen.
  • ZONE ist der Name der Zone, in der die NEG erstellt wurde.
  • NETWORK ist der Name des Netzwerks, in dem die NEG erstellt wurde.
  • SUBNET ist der Name des Subnetzes, zu dem die Netzwerkendpunkte gehören.

Endpunkte zu einer Netzwerk-Endpunktgruppe hinzufügen

Console

So fügen Sie Endpunkte zu einer Netzwerk-Endpunktgruppe hinzu:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "Netzwerk-Endpunktgruppen"
  2. Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, der Sie Endpunkte hinzufügen möchten. Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.
  3. Klicken Sie im Bereich Netzwerkendpunkte in dieser Gruppe auf Netzwerkendpunkt hinzufügen. Die Seite Netzwerk-Endpunkt hinzufügen wird angezeigt.
  4. Wählen Sie eine VM-Instanz aus, um deren interne IP-Adressen als Netzwerkendpunkte hinzuzufügen, und klicken Sie auf Hinzufügen. Sie sehen die Netzwerkschnittstelle, die Zone, das Subnetz und die interne IP-Adresse der VM-Schnittstelle, die dem Endpunkt zugewiesen ist.
  5. Führen Sie für zonale NEGs mit nur GCE_VM_IP_PORT-Endpunkten die folgenden Schritte aus:
    1. Geben Sie IP-Adresse oder -Bereich des neuen Netzwerkendpunkts ein.
    2. Wählen Sie den Porttyp aus.
    3. Wenn Sie Standard auswählen, wird für den Endpunkt der Standardport für alle Endpunkte in der Netzwerk-Endpunktgruppe verwendet.
    4. Wenn Sie Benutzerdefiniert auswählen, geben Sie die Portnummer für den zu verwendenden Endpunkt ein.
  6. Klicken Sie zum Hinzufügen weiterer Endpunkte auf Netzwerkendpunkt hinzufügen und wiederholen Sie die Schritte fünf und sechs.
  7. Nachdem Sie alle benötigten Endpunkte festgelegt haben, klicken Sie auf Hinzufügen.

gcloud

So fügen Sie Endpunkte zu einer Netzwerk-Endpunktgruppe hinzu:

gcloud compute network-endpoint-groups update NEG_NAME \
    --zone=ZONE \
    --add-endpoint 'instance=INSTANCE_NAME,[ip=IP_ADDRESS],[port=PORT]' \
    [--add-endpoint ...]

Ersetzen Sie Folgendes:

  • NEG_NAME: Der Name der NEG.
  • ZONE: der Name der Zone, in der sich die NEG befindet.
  • INSTANCE_NAME: Der Name der VM, zu der die IP-Adresse gehört.
  • IP_ADDRESS: eine optionale IP-Adresse für den hinzugefügten Netzwerkendpunkt. Wenn Sie die IP-Adresse weglassen, wählt Google Cloud die primäre interne IP-Adresse der VM-Instanz aus, die dem Subnetzwerk der NEG entspricht.
  • PORT ist der Port des neuen Netzwerkendpunkts. Der Port ist optional, wenn in der NEG ein Standardport angegeben ist. Dieses Feld wird für zonale NEGs mit GCE_VM_IP-Endpunkten nicht unterstützt.

Weitere Informationen finden Sie unter Übersicht über zonale Netzwerk-Endpunktgruppen.

So fügen Sie beispielsweise einer zonalen GCE_VM_IP_PORT-NEG Endpunkte hinzu:

gcloud compute network-endpoint-groups update my-lb-neg \
    --zone=asia-southeast1-a \
    --add-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80'

Zonale NEG zu einem Back-End-Dienst hinzufügen

Console

So fügen Sie einem Backend-Dienst eine Netzwerk-Endpunktgruppe hinzu:

  1. Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
    Zur Seite „Load-Balancing“
  2. Klicken Sie auf den Namen des Load-Balancers, dessen Back-End-Dienst Sie bearbeiten möchten.
  3. Klicken Sie auf der Seite Details zum Load-Balancer auf Bearbeiten .
  4. Klicken Sie auf der Seite Load-Balancer bearbeiten auf Back-End-Konfiguration.
  5. Klicken Sie auf der Seite Back-End-Konfiguration auf Bearbeiten .
  6. Klicken Sie auf Back-End hinzufügen.
  7. Wählen Sie eine Zonale Netzwerk-Endpunktgruppe aus und klicken Sie auf Fertig.
  8. Klicken Sie auf Aktualisieren.

gcloud

So fügen Sie einem Back-End-Dienst eine NEG hinzu:

gcloud compute backend-services add-backend BACKEND_SERVICE \
     --network-endpoint-group=NETWORK_ENDPOINT_GROUP \
     --network-endpoint-group-zone=ZONE

So fügen Sie beispielsweise einem Back-End-Dienst eine zonale GCE_VM_IP_PORT-NEG hinzu:

gcloud compute backend-services add-backend my-lb \
   --network-endpoint-group my-lb-neg \
   --network-endpoint-group-zone=asia-southeast1-a \
   --global \
   --balancing-mode=RATE \
   --max-rate-per-endpoint=5

NEG aus einem Back-End-Dienst entfernen

Console

  1. Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
    Zur Seite „Load-Balancing“
  2. Klicken Sie auf den Namen des Load-Balancers, dessen Back-End-Dienst Sie bearbeiten möchten.
  3. Klicken Sie auf der Seite Details zum Load-Balancer auf Bearbeiten .
  4. Klicken Sie auf der Seite Load-Balancer bearbeiten auf Back-End-Konfiguration.
  5. Klicken Sie auf der Seite Back-End-Konfiguration für den Back-End-Dienst, von dem Sie die NEG entfernen möchten, auf Bearbeiten .
  6. Suchen Sie im Bereich Back-End die NEG, die Sie entfernen möchten, und klicken Sie auf das Papierkorbsymbol für die NEG.
  7. Klicken Sie auf Aktualisieren.

gcloud

So entfernen Sie eine NEG von einem Back-End-Dienst:

gcloud compute backend-services remove-backend BACKEND_SERVICE \
    --network-endpoint-group=NETWORK_ENDPOINT_GROUP \
    --network-endpoint-group-zone=NETWORK_ENDPOINT_GROUP_ZONE

Beispiele:

gcloud compute backend-services remove-backend my-lb \
    --network-endpoint-group=my-lb-neg \
    --network-endpoint-group-zone=asia-southeast1-a

Endpunkte aus einer Netzwerk-Endpunktgruppe entfernen

Wenn ein Netzwerkendpunkt aus einer Load-Balancing-NEG entfernt wird, löst er einen Verbindungsausgleich auf der Grundlage der im Back-End-Dienst angegebenen Ausgleichsparameter aus. Wenn mehrere Back-End-Dienste auf dieselbe NEG verweisen, wird das maximale Ausgleichsintervall für alle Back-End-Dienste angewendet.

Console

So entfernen Sie Endpunkte aus einer Netzwerk-Endpunktgruppe:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "Netzwerk-Endpunktgruppen"
  2. Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, aus der Sie Endpunkte löschen möchten. Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.
  3. Wählen Sie die Netzwerkendpunkte aus, die Sie löschen möchten, und klicken Sie auf Endpunkt entfernen.

gcloud

So entfernen Sie Endpunkte aus einer Netzwerk-Endpunktgruppe:

gcloud compute network-endpoint-groups update NEG_NAME \
--zone=ZONE \
--remove-endpoint 'instance=INSTANCE_NAME,[ip=IP],[port=PORT]' \
[--remove-endpoint ...]

So entfernen Sie beispielsweise einen Endpunkt aus einer zonalen GCE_VM_IP_PORT-NEG:

gcloud compute network-endpoint-groups update my-lb-neg \
     --remove-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80' \
     --zone=asia-southeast1-a

Netzwerk-Endpunktgruppen auflisten

Console

Sie können sich eine Liste der Netzwerk-Endpunktgruppen anzeigen lassen. Rufen Sie dazu die Seite "Netzwerk-Endpunktgruppen" in der Google Cloud Console auf.
Zur Seite "Netzwerk-Endpunktgruppen"

gcloud

So rufen Sie eine Liste der Netzwerk-Endpunktgruppen ab:

gcloud compute network-endpoint-groups list

Bestimmte Netzwerk-Endpunktgruppe beschreiben

Console

So rufen Sie die Details zu einer bestimmten Netzwerk-Endpunktgruppe ab:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "Netzwerk-Endpunktgruppen"
  2. Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, deren Details Sie sich ansehen möchten.

gcloud

So rufen Sie die Details zu einer bestimmten Netzwerk-Endpunktgruppe ab:

gcloud compute network-endpoint-groups describe NEG_NAME \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • NEG_NAME ist der Name der Netzwerk-Endpunktgruppe.
  • ZONE: der optionale Name der Zone, in der die NEG erstellt wurde.

Beispiel: Der folgende gcloud-Befehl listet Informationen zur Netzwerk-Endpunktgruppe my-lb-neg auf.

gcloud compute network-endpoint-groups describe my-lb-neg \
    --zone=asia-southeast1-a

Die Ausgabe des Befehls sieht so aus:

    creationTimestamp: '2018-04-09T14:51:34.381-07:00'
    id: '5260475207627726473'
    kind: compute#networkEndpointGroup
    loadBalancer:
      defaultPort: 80
      network: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/networks/default
      zone: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/asia-southeast1-a

Netzwerk-Endpunktgruppen entfernen

Eine Netzwerk-Endpunktgruppe kann nicht gelöscht werden, wenn sie mit einem Back-End-Dienst verknüpft ist. Bevor Sie eine NEG löschen, muss sie vom Back-End-Dienst getrennt sein.

Durch das sofortige Löschen einer VM werden alle Netzwerkendpunkte auf der VM aus der NEG entfernt und alle Verbindungen geschlossen. Durch das Löschen einer NEG, nachdem der Back-End-Dienst gelöscht wurde, werden auch alle Endpunkte in dieser NEG ohne Verbindungsausgleich entfernt.

Console

So entfernen Sie eine Netzwerk-Endpunktgruppe von einem Backend-Dienst:

  1. Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
    Zur Seite „Load-Balancing“
  2. Klicken Sie auf den Namen des Load-Balancers, dessen Back-End-Dienst Sie bearbeiten möchten.
  3. Klicken Sie auf der Seite Details zum Load-Balancer auf Bearbeiten .
  4. Klicken Sie auf der Seite Load-Balancer bearbeiten auf Back-End-Konfiguration.
  5. Klicken Sie auf der Seite Back-End-Konfiguration für den Back-End-Dienst, von dem Sie die NEG entfernen möchten, auf Bearbeiten .
  6. Suchen Sie im Bereich Back-End die NEG, die Sie entfernen möchten, und klicken Sie auf das Papierkorbsymbol für die NEG.
  7. Klicken Sie auf Aktualisieren.

So löschen Sie eine Netzwerk-Endpunktgruppe:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "Netzwerk-Endpunktgruppen"
  2. Suchen Sie die Netzwerk-Endpunktgruppe, die Sie löschen möchten.
  3. Klicken Sie in dieser Zeile auf das Papierkorbsymbol.

gcloud

So entfernen Sie eine Netzwerk-Endpunktgruppe von einem Backend-Dienst:

gcloud compute backend-services remove-backend BACKEND_SERVICE \
     --network-endpoint-group=NETWORK_ENDPOINT_GROUP \
     --network-endpoint-group-zone=ZONE

So löschen Sie eine Netzwerk-Endpunktgruppe:

gcloud compute network-endpoint-groups delete NEG_NAME \
    --zone=ZONE

Beispiele:

gcloud compute backend-services remove-backend my-neg-backend \
    --network-endpoint-group=my-lb-neg \
    --network-endpoint-group-zone=southeast1-a
gcloud compute network-endpoint-groups delete my-lb-neg \
    --zone=asia-southeast1-a

Endpunkte in einer Netzwerk-Endpunktgruppe auflisten

Console

So rufen Sie eine Liste der Endpunkte in einer Netzwerk-Endpunktgruppe ab:

  1. Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
    Zur Seite "Netzwerk-Endpunktgruppen"
  2. Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, aus der Sie Endpunkte löschen möchten. Sie sehen die Seite Netzwerk-Endpunktgruppendetails, auf der die Endpunkte für die Endpunktgruppe aufgeführt sind.
  3. Erstellen Sie zum Filtern der Endpunkte Schlüssel/Wert-Paare im Textfeld unter Netzwerk-Endpunkte in dieser Gruppe.

gcloud

So rufen Sie eine Liste der Netzwerkendpunkte in einer Netzwerk-Endpunktgruppe ab:

gcloud compute network-endpoint-groups list-network-endpoints NEG_NAME \
     --zone=ZONE

Benutzerdefinierte Filter beim Auflisten von Endpunkten in einer Netzwerk-Endpunktgruppe

Mit einem benutzerdefinierten Filter können Sie einzuschränken, welche Endpunkte in einer Netzwerk-Endpunktgruppe aufgelistet werden. Benutzerdefinierte Filter sind nur bei der REST API aktiviert. Sie können benutzerdefinierte Filter nicht über die Google Cloud Console oder die gcloud-Befehlszeile verwenden.

Weitere Informationen finden Sie in der Dokumentation zur Methode networkEndpointGroups.listNetworkEndpoints.

Systemdiagnose Ihrer Netzwerkendpunkte

Back-End-Dienste mit zonalen NEG-Back-Ends müssen eine Systemdiagnose mit einer der beiden folgenden Portspezifikationen verwenden:

  • ein fester (nummerierter) Port (--port)
  • konfiguriert zur Verwendung des Bereitstellungsports des Netzwerk-Endpunkts (--use-serving-port)

Im folgenden Beispiel wird eine HTTP-Systemdiagnose erstellt, die den Bereitstellungsport des Netzwerkendpunkts mit dem Flag --use-serving-port verwendet. Beachten Sie, dass das Flag --use-serving-port mithilfe von gcloud compute health-checks create implementiert wird und nicht mit gcloud compute health-checks update.

gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME
    --use-serving-port

Sie können eine Legacy-Systemdiagnose nicht mit einem zonalen NEG-Back-End verwenden. Weitere Informationen finden Sie in den Systemdiagnosekonzepten.