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:
- Internen Passthrough-Network Load Balancer mit zonalen NEG-Back-Ends einrichten
- Externen Passthrough-Network Load Balancer mit zonalen NEG-Back-Ends einrichten
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:
- Externer Application Load Balancer
- Interner Application Load Balancer
- Externer Proxy-Network Load Balancer
- Interner Proxy-Network Load Balancer
- End-to-End-Beispiel: Regionalen internen Proxy-Network-Load-Balancer mit zonalen NEG-Back-Ends einrichten.
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:
- Containernatives Load-Balancing über Ingress
- Containernatives Load-Balancing über eigenständige zonale NEGs
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:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zur Seite "Netzwerk-Endpunktgruppen" - Klicken Sie auf NETZWERK-ENDPUNKTGRUPPE ERSTELLEN.
- Wählen Sie für den Typ der Netzwerk-Endpunktgruppe den Netzwerk-Endpunkttyp: Zonal aus.
- Geben Sie den Namen der Netzwerk-Endpunktgruppe ein.
- Wählen Sie als Typ des Netzwerkendpunkts die Option Netzwerkendpunktgruppe (zonal) aus.
- Wählen Sie den Endpunkttyp aus, der zum verwendeten Load Balancer passt.
- Wählen Sie das Netzwerk aus.
- Wählen Sie das Subnetzwerk aus.
- Wählen Sie die Zone aus.
- Geben Sie für zonale Negs mit nur
GCE_VM_IP_PORT
-Endpunkten einen Standardport ein. - 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 Netzwerkdefault
.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 Abschnittport
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:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zur Seite "Netzwerk-Endpunktgruppen" - Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, der Sie Endpunkte hinzufügen möchten. Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.
- Klicken Sie im Bereich Netzwerkendpunkte in dieser Gruppe auf Netzwerkendpunkt hinzufügen. Die Seite Netzwerk-Endpunkt hinzufügen wird angezeigt.
- 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.
- Führen Sie für zonale NEGs mit nur
GCE_VM_IP_PORT
-Endpunkten die folgenden Schritte aus:- Geben Sie IP-Adresse oder -Bereich des neuen Netzwerkendpunkts ein.
- Wählen Sie den Porttyp aus.
- Wenn Sie Standard auswählen, wird für den Endpunkt der Standardport für alle Endpunkte in der Netzwerk-Endpunktgruppe verwendet.
- Wenn Sie Benutzerdefiniert auswählen, geben Sie die Portnummer für den zu verwendenden Endpunkt ein.
- Klicken Sie zum Hinzufügen weiterer Endpunkte auf Netzwerkendpunkt hinzufügen und wiederholen Sie die Schritte fünf und sechs.
- 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 mitGCE_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:
- Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
Zur Seite „Load-Balancing“ - Klicken Sie auf den Namen des Load-Balancers, dessen Back-End-Dienst Sie bearbeiten möchten.
- Klicken Sie auf der Seite Details zum Load-Balancer auf Bearbeiten .
- Klicken Sie auf der Seite Load-Balancer bearbeiten auf Back-End-Konfiguration.
- Klicken Sie auf der Seite Back-End-Konfiguration auf Bearbeiten .
- Klicken Sie auf Back-End hinzufügen.
- Wählen Sie eine Zonale Netzwerk-Endpunktgruppe aus und klicken Sie auf Fertig.
- 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
- Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
Zur Seite „Load-Balancing“ - Klicken Sie auf den Namen des Load-Balancers, dessen Back-End-Dienst Sie bearbeiten möchten.
- Klicken Sie auf der Seite Details zum Load-Balancer auf Bearbeiten .
- Klicken Sie auf der Seite Load-Balancer bearbeiten auf Back-End-Konfiguration.
- Klicken Sie auf der Seite Back-End-Konfiguration für den Back-End-Dienst, von dem Sie die NEG entfernen möchten, auf Bearbeiten .
- Suchen Sie im Bereich Back-End die NEG, die Sie entfernen möchten, und klicken Sie auf das Papierkorbsymbol für die NEG.
- 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
Beispiel:
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:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zur Seite "Netzwerk-Endpunktgruppen" - Klicken Sie auf den Namen der Netzwerk-Endpunktgruppe, aus der Sie Endpunkte löschen möchten. Die Seite Netzwerk-Endpunktgruppendetails wird angezeigt.
- 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:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zur Seite "Netzwerk-Endpunktgruppen" - 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:
- Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
Zur Seite „Load-Balancing“ - Klicken Sie auf den Namen des Load-Balancers, dessen Back-End-Dienst Sie bearbeiten möchten.
- Klicken Sie auf der Seite Details zum Load-Balancer auf Bearbeiten .
- Klicken Sie auf der Seite Load-Balancer bearbeiten auf Back-End-Konfiguration.
- Klicken Sie auf der Seite Back-End-Konfiguration für den Back-End-Dienst, von dem Sie die NEG entfernen möchten, auf Bearbeiten .
- Suchen Sie im Bereich Back-End die NEG, die Sie entfernen möchten, und klicken Sie auf das Papierkorbsymbol für die NEG.
- Klicken Sie auf Aktualisieren.
So löschen Sie eine Netzwerk-Endpunktgruppe:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zur Seite "Netzwerk-Endpunktgruppen" - Suchen Sie die Netzwerk-Endpunktgruppe, die Sie löschen möchten.
- 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
Beispiel:
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:
- Gehen Sie in der Google Cloud Console zur Seite "Netzwerk-Endpunktgruppen".
Zur Seite "Netzwerk-Endpunktgruppen" - 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.
- 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.