Auf dieser Seite wird beschrieben, wie Sie einen regionalen externen Passthrough-Network-Load-Balancer konfigurieren, damit er automatisch in Service Directory registriert wird.
Wenn Sie den 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 (über HTTP oder gRPC) verwenden, um die Adresse des regionalen externen Passthrough-Network-Load-Balancer-Dienstes aufzulösen und eine direkte Verbindung zu ihm herzustellen.
Beschränkungen
Die Service Directory-Integration mit regionalen externen Passthrough-Network Load Balancern unterliegt den folgenden Einschränkungen:
- Die automatische Registrierung wird nur für externe Layer 4-Load-Balancer unterstützt. Sie können Google Kubernetes Engine-Load-Balancing-Dienste über die GKE-Integration registrieren. Sie können andere externe Load Balancer, globale Load Balancer sowie Ingresses und Gateways von Google Kubernetes Engine registrieren, indem Sie die Service Directory API aufrufen.
- Sie können die automatische Registrierung nur beim Erstellen einer Weiterleitungsregel verwenden. Die automatische Registrierung mithilfe der Google Cloud CLI-Aktualisierung für eine bereits vorhandene Weiterleitungsregel ist nicht verfügbar.
- Service Directory bietet keine Konnektivität. Das bedeutet, dass zwar die virtuelle IP-Adresse des regionalen externen Passthrough-Network-Load-Balancers in Service Directory gespeichert wird, das Nachschlagen des regionalen externen Passthrough-Network-Load-Balancers in Service Directory jedoch nicht garantiert, dass Sie eine Verbindung zur virtuellen IP-Adresse herstellen können.
Hinweis
Für diese Anleitung ist Folgendes erforderlich:
Sie benötigen bereits einen Service Directory-Namespace und -Dienst. Falls 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 wie die Weiterleitungsregel für den regionalen externen Passthrough-Network-Load-Balancer befinden, die Sie erstellen.
Sie müssen die erforderlichen Ressourcen bereits eingerichtet haben, um eine regionale externe Passthrough-Network Load Balancer-Weiterleitungsregel zu erstellen.
Informationen zum Erstellen eines regionalen externen Passthrough-Network Load Balancers finden Sie unter Regionalen externen Passthrough-Network Load Balancer einrichten.
Weiterleitungsregeln einrichten, um einen regionalen externen Passthrough-Network Load Balancer in Service Directory zu registrieren
Sie müssen eine Weiterleitungsregel einrichten, um den regionalen externen Passthrough-Network Load Balancer in Service Directory zu registrieren. Informationen zum Registrieren eines regionalen externen Passthrough-Network Load Balancers finden Sie im folgenden Abschnitt.
Regionalen externen Passthrough-Network Load Balancer registrieren
Führen Sie zum Registrieren eines regionalen externen Passthrough-Network Load Balancers den Befehl gcloud compute forwarding-rules
create aus und legen Sie das Flag service-directory-registration 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 überprüfen
Die Service Directory-Endpunkte, die beim Registrieren eines regionalen 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 namensRULE-8080. Wenn Sie für dieselbe Regel zwei Ports angegeben haben, z. B.--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 regionalen externen Passthrough-Network-Load-Balancers sind, müssen Sie dafür sorgen, dass der API-Aufrufer weiß, über welchen 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. Für API-Aufrufe an den Endpunkt gelten jedoch die normalen Preisdetails.
Um zu bestätigen, dass der Endpunkt erstellt wurde, lösen Sie den Dienst in Service Directory auf. Sie sollten einen Endpunkt mit demselben Namen wie der Name der Weiterleitungsregel mit der angegebenen Portnummer sehen.
Führen Sie den Befehl gcloud service-directory
services resolve aus, um den Dienst im 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, die den Namespace enthält. Das sollte dieselbe Region sein, in der Sie die Weiterleitungsregel erstellt haben.
Bereinigen
So löschen Sie die erstellten Ressourcen:
Führen Sie den Befehl
gcloud compute forwarding-rules deleteaus, 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.
Um zu bestätigen, dass durch das Löschen der Weiterleitungsregel der Endpunkt automatisch aus Service Directory gelöscht wurde, führen Sie den Befehl
gcloud service-directory services resolveaus, der im Abschnitt Endpunkt prüfen für Ihren Service Directory-Dienst beschrieben wird.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 in der Übersicht zu Service Directory.
- Informationen zu Lösungen für häufige Probleme, die bei der Verwendung von Service Directory auftreten können, finden Sie unter Fehlerbehebung.