Auf dieser Seite finden Sie Informationen zum Konfigurieren eines externen Passthrough-Network Load Balancers, sodass er automatisch in Service Directory registriert wird.
Wenn Sie Ihren Load Balancer erstellen, können Sie ihn als Endpunkt in einem vorhandenen Service Directory-Namespace und -Dienst Ihrer Wahl registrieren. Clientanwendungen können dann Service Directory (mit HTTP oder gRPC) verwenden, um die Adresse des externen Passthrough-Network Load Balancer-Dienstes aufzulösen und eine direkte Verbindung zu ihm herzustellen.
Beschränkungen
Die Service Directory-Integration mit externen Passthrough-Network Load Balancern unterliegt den folgenden Beschränkungen:
- Die automatische Registrierung wird nur für externe Layer 4-Load Balancer unterstützt. Sie können Google Kubernetes Engine-Load-Balancing-Dienste mit der GKE Integration registrieren. Sie können andere externe Load Balancer, globale Load Balancer und Google Kubernetes Engine-Ingresses und -Gateways registrieren, indem Sie die Service Directory API aufrufen.
- Sie können die automatische Registrierung nur beim Erstellen von Weiterleitungsregeln verwenden. Die automatische Registrierung mit dem Google Cloud CLI-Update für eine bereits vorhandene Weiterleitungsregel ist nicht verfügbar.
- Service Directory bietet keine Konnektivität. Das bedeutet, dass die virtuelle IP-Adresse des externen Passthrough-Network Load Balancers zwar in Service Directory gespeichert wird, das Suchen nach dem externen Passthrough-Network Load Balancer in Service Directory aber nicht garantiert, dass Sie eine Verbindung zur virtuellen IP-Adresse herstellen können.
Hinweis
Für diese Anleitung ist Folgendes erforderlich:
Sie müssen bereits einen Service Directory-Namespace und -Dienst haben. Wenn nicht, erstellen Sie einen Namespace und einen Dienst gemäß der Anleitung unter Service Directory konfigurieren.
Der Service Directory-Namespace und -Dienst müssen sich im selben Projekt und in derselben Region befinden wie die Weiterleitungsregel für den externen Passthrough-Network Load Balancer, die Sie erstellen.
Sie müssen bereits die erforderlichen Ressourcen eingerichtet haben, um eine Weiterleitungsregel für einen externen Passthrough-Network Load Balancer zu erstellen.
Informationen zum Erstellen eines externen Passthrough-Network Load Balancers finden Sie unter Externen Passthrough-Network Load Balancer einrichten.
Weiterleitungsregeln einrichten, um einen externen Passthrough-Network Load Balancer in Service Directory zu registrieren
Sie müssen eine Weiterleitungsregel einrichten, um den externen Passthrough-Network Load Balancer in Service Directory zu registrieren. Informationen zum Registrieren eines externen Passthrough-Network Load Balancers finden Sie im folgenden Abschnitt.
Externen Passthrough-Network Load Balancer registrieren
Führen Sie zum Registrieren eines regionalen externen Passthrough-Network Load Balancers den gcloud compute forwarding-rules
create Befehl aus und
legen Sie das service-directory-registration Flag fest:
gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \
--region=REGION \
--load-balancing-scheme=EXTERNAL \
--address=RESERVED_IP_ADDRESS \
--ip-protocol=PROTOCOL_TYPE \
--ports=PORT_NUMBER \
--backend-service=BACKEND_SERVICE_NAME \
--backend-service-region=REGION \
--service-directory-registration=SD_SERVICE_NAME
Ersetzen Sie Folgendes:
FORWARDING_RULE_NAME: ein Name für die Weiterleitungsregel, die Sie erstellen möchtenREGION: ist die Region, in der die Weiterleitungsregel erstellt werden soll.RESERVED_IP_ADDRESS: ist die IP-Adresse, für die die Weiterleitungsregel gilt.PROTOCOL_TYPE: das IP-Protokoll, das von der Regel bereitgestellt werden soll.PORT_NUMBER: ist eine Liste durch Kommas getrennter Ports.BACKEND_SERVICE_NAME: der Ziel-Backend-Dienst, der den Traffic empfängt.SD_SERVICE_NAME: der vollständig qualifizierte Name des Service Directory-Dienstes, in dem Sie den Endpunkt registrieren möchten. Dieser Dienst muss sich im selben Projekt und in derselben Region wie die zu erstellende Weiterleitungsregel befinden. Beispiel: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.
Endpunkt prüfen
Die Service Directory-Endpunkte, die beim Registrieren eines externen Passthrough-Network Load Balancers erstellt werden, haben die folgenden Eigenschaften:
- Der Endpunkt hat denselben Namen wie die Weiterleitungsregel mit der
angegebenen Portnummer (
<forwarding rule name>-<port>). Wenn Sie beispielsweise eine WeiterleitungsregelRULEmit--port=8080erstellen, erhalten Sie einen Endpunkt mit dem NamenRULE-8080. Wenn Sie für dieselbe Regel zwei Ports angegeben haben (--port=8080, 8081), erhalten Sie zwei Endpunkte:RULE-8080undRULE-8081. Wenn Sie--port=ALLangeben, wird der Service Directory-Endpunkt mit Port0registriert. Wenn Sie der Inhaber des externen Passthrough-Network Load Balancers sind, müssen Sie dafür sorgen, dass der API-Aufrufer weiß, mit welchem Port er eine Verbindung herstellen muss. - Sie können den Endpunkt nicht mit der öffentlichen Service Directory API ändern oder löschen. Der Endpunkt wird nur automatisch gelöscht, wenn Sie die Weiterleitungsregel löschen. Das bedeutet, dass Sie den Dienst und den Namespace, in dem sich der Endpunkt befindet, nicht löschen können, solange die Weiterleitungsregel vorhanden ist.
- Der Endpunkt selbst wird nicht in Rechnung gestellt. Die normalen Preise gelten jedoch für alle API-Aufrufe an den Endpunkt.
Um zu bestätigen, dass der Endpunkt erstellt wurde, lösen Sie den Dienst in Service Directory auf. Es sollte ein Endpunkt mit demselben Namen wie die Weiterleitungsregel mit der angegebenen Portnummer angezeigt werden.
Führen Sie den gcloud service-directory
services resolve
Befehl aus, um den Dienst in Service Directory aufzulösen:
gcloud service-directory services resolve SD_SERVICE_NAME \
--namespace=SD_NAMESPACE_NAME \
--location=REGION
Ersetzen Sie Folgendes:
SD_SERVICE_NAME: der Name des Service Directory-Dienstes, der aufgelöst werden soll. Er muss im Namespace-Namen des Service Directory enthalten sein.SD_NAMESPACE_NAME: der Name, den Sie dem Namespace mit Ihrem Dienst gegeben haben.REGION: die Google Cloud Region mit dem Namespace. Diese Region sollte mit der Region übereinstimmen, in der Sie die Weiterleitungsregel erstellt haben.
Bereinigen
So löschen Sie die erstellten Ressourcen:
Führen Sie den
gcloud compute forwarding-rules deleteBefehl aus, um die Weiterleitungsregel zu löschen:gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \ --region=REGION
Ersetzen Sie Folgendes:
FORWARDING_RULE_NAME: der Name der von Ihnen erstellten WeiterleitungsregelREGION: die Region für die Weiterleitungsregel
Weitere Informationen finden Sie unter Weiterleitungsregel löschen.
Führen Sie den
gcloud service-directory services resolveBefehl aus, der im Abschnitt Endpunkt prüfen beschrieben ist, für Ihren Service Directory-Dienst aus, um zu bestätigen, dass der Endpunkt automatisch aus Service Directory gelöscht wurde.Informationen zum Löschen des Service Directory-Namespace und -Dienstes finden Sie unter Ressourcen löschen.
Nächste Schritte
- Eine Übersicht über Service Directory finden Sie unter der Service Directory-Übersicht.
- Informationen zu Lösungen für häufige Probleme, die bei der Verwendung von Service Directory auftreten können, finden Sie unter Fehlerbehebung.