Weiterleitungsregeln für Cloud Service Mesh

Dieses Dokument gilt nur für Cloud Service Mesh mit den Load Balancing APIs. Es wird dringend empfohlen, zum Bereitstellen von Cloud Service Mesh die Service Routing APIs zu verwenden.

Cloud Service Mesh verwendet die Weiterleitungsregel, um den Zielproxy zu ermitteln, an den der Traffic im Mesh weitergeleitet wird.

Jede Weiterleitungsregel stellt eine einzelne globale IPv4-Adresse für einen Dienst bereit. Sie können diese Adresse verwenden, um interne DNS-Einträge für Ihren Dienst zu erstellen (z. B. mithilfe einer von Cloud DNS verwalteten privaten Zone). Metadatenfilter in der Weiterleitungsregel geben die Kriterien an, für die ein xDS-kompatibler Sidecar-Proxy die Konfiguration empfängt.

Bei der Cloud Service Mesh-Steuerungsebene leitet die interne, selbstverwaltete und globale Weiterleitungsregel Traffic je nach IP-Adresse, Port und Protokoll an einen Zielproxy weiter. Der Zielproxy verweist auf eine URL-Zuordnung, die Regeln enthält, die das Ziel des Traffics bestimmen. Die URL-Zuordnung gibt auch den Standard-Back-End-Dienst an. Dieser Back-End-Dienst gibt eine Systemdiagnose an und bestimmt das entsprechende Back-End, z. B. eine verwaltete Instanzgruppe (MIG), die VM-Instanzen enthält, oder eine Netzwerk-Endpunktgruppe (NEG), die Back-End-Pods (Google Kubernetes Engine) (GKE) enthält.

Das folgende Diagramm zeigt, wie eine Weiterleitungsregel in die Cloud Service Mesh-Architektur passt.

Cloud Service Mesh-Weiterleitungsregel hervorgehoben.
Cloud Service Mesh-Weiterleitungsregel hervorgehoben (zum Vergrößern klicken)

Eigenschaften von Weiterleitungsregeln

Eine Ressource für Weiterleitungsregeln enthält die folgenden Attribute, die für Cloud Service Mesh gelten. Die Weiterleitungsregel verarbeitet den Traffic, der mit der Ziel-IP-Adresse, dem Protokoll und der Portnummer übereinstimmt.

Eine 0.0.0.0-IP-Adresse in einer Weiterleitungsregel ist eine der Optionen, wenn Sie Cloud Service Mesh verwenden. Eine 0.0.0.0-IP-Adresse steht für eine beliebige IP-Adresse.

  • Bei einer Proxybereitstellung ermöglicht eine IP-Adresse des Typs 0.0.0.0, dass ein Proxy jeden eingehenden Traffic berücksichtigt, wenn keine andere spezifische Übereinstimmung gefunden wurde.

  • Bei einer proxylosen Bereitstellung bietet die IP-Adresse 0.0.0.0 eine Möglichkeit anzugeben, dass keine IP-Adresse erforderlich ist. Weitere Informationen zur Verwendung von 0.0.0.0-IP-Adressen mit einem Ziel-gRPC-Proxy erhalten Sie später.

In der folgenden Tabelle werden Attribute von Weiterleitungsregeln ausführlicher beschrieben.

Eigenschaft Erforderlich Beschreibung
name

Der Name der Weiterleitungsregel.

Der Name muss in diesem Projekt einmalig sein, 1 bis 63 Zeichen umfassen und mit dem regulären Ausdruck [a-z]([-a-z0-9]*[a-z0-9])? übereinstimmen.

Das erste Zeichen muss also ein Kleinbuchstabe und alle folgenden Zeichen müssen ein Bindestrich, ein Kleinbuchstabe oder eine Ziffer sein, mit Ausnahme des letzten Zeichens, das kein Bindestrich sein darf.

IPAddress

Eine der folgenden Optionen: 0.0.0.0 oder 127.0.0.1 oder eine beliebige RFC 1918-Adresse.

IP-Adressen für Cloud Service Mesh-Weiterleitungsregeln müssen nicht den IP-Adressbereichen von Subnetzen im VPC-Netzwerk (Virtual Private Cloud) entsprechen. Für ein VPC-Netzwerk, eine IP-Adresse und einen Port können Sie nur eine interne, selbstverwaltete Weiterleitungsregel haben.

Beispielsweise können Sie im selben VPC-Netzwerk nicht zwei Weiterleitungsregeln erstellen, die die IP-Adresse 0.0.0.0 und den Port 80 verwenden.

IPAddress mit einem Ziel-gRPC-Proxy

Für eine Weiterleitungsregel, die auf einen gRPC-Zielproxy verweist, für den das Feld validateForProxyless auf TRUE und die IP-Adresse auf 0.0.0.0 gesetzt ist.

Ein gRPC-Client, der das Schema xds verwendet, führt keinen DNS-Lookup aus, um den Hostnamen im Kanal-URI aufzulösen. Stattdessen löst ein solcher Client den hostname[:port] im Ziel-URI auf, indem er eine LDS-Anfrage (Listener Discovery Service) an Cloud Service Mesh sendet. Es sind kein DNS-Lookup und kein DNS-Eintrag für den Hostnamen erforderlich.

Infolgedessen verwendet Cloud Service Mesh die IP-Adresse 0.0.0.0 und den im URI angegebenen Port (Standard-80), um die Weiterleitungsregel abzurufen. Anschließend sucht Cloud Service Mesh in der URL-Zuordnung des Zielproxys, auf den die Weiterleitungsregel verweist, nach einer übereinstimmenden Hostregel.

target

Der Zielproxy, an den diese Weiterleitungsregel Traffic weiterleitet. Cloud Service Mesh unterstützt target-http-proxy, target-https-proxy und target-grpc-proxy.

Wenn Sie die Google Cloud Console zum Konfigurieren der Weiterleitungsregel verwenden, wird der Zielproxy automatisch konfiguriert. Wenn Sie Google Cloud CLI oder die API verwenden, muss der Ziel-Proxy vorhanden sein, bevor Sie die Weiterleitungsregel erstellen. Sie können für einen bestimmten Proxy mehrere Weiterleitungsregeln verwenden.

IPProtocol Der Protokolltyp, dem diese Weiterleitungsregel entspricht. Der einzige unterstützte Wert ist TCP.
loadBalancingScheme Gibt an, wie die Weiterleitungsregel verwendet wird. Der gültige Wert für Cloud Service Mesh ist INTERNAL_SELF_MANAGED.
portRange

Ein Port oder ein Portbereich, der durch einen Bindestrich verbunden ist.

Pakete mit dem angegebenen Protokoll, die an diese Ports gesendet werden, werden an das entsprechende Back-End weitergeleitet. Sie können eine einzelne Zahl eines Bereichs angeben, z. B. 80 oder 80-8080.

Für ein VPC-Netzwerk, eine IP-Adresse und einen Port können Sie nur eine interne, selbstverwaltete Weiterleitungsregel haben. Beispielsweise können Sie im selben VPC-Netzwerk nicht zwei Weiterleitungsregeln erstellen, die die IP-Adresse 0.0.0.0 und den Port 80 verwenden.

Bei proxylosen gRPC-Diensten wird der Port in der Weiterleitungsregel mit dem Port im URI abgeglichen, mit dem eine gRPC-Anwendung eine Verbindung zu einem Dienst herstellt. Wenn im URI kein Port angegeben ist, dann ist 80 der Standardport.

network

Gibt das VPC-Netzwerk an, in dem sich die Google Cloud-VMs befinden, auf denen Envoy-Proxys ausgeführt werden.

Die Envoy-Proxys lesen die Cloud Service Mesh-Konfiguration, die Sie für dasselbe Netzwerk definieren, in dem die Proxys bereitgestellt werden. Sie können das VPC-Netzwerk default oder ein benutzerdefiniertes Netzwerk verwenden.

Cloud Service Mesh unterstützt das Load-Balancing für Clients nur innerhalb des Google Cloud-Netzwerks. Den Netzwerknamen geben Sie in der Weiterleitungsregel an. VPC-Peering wird nicht unterstützt.

Globale Weiterleitungsregel hinzufügen

Informationen zum Konfigurieren einer Weiterleitungsregel innerhalb der gesamten Einrichtung von Cloud Service Mesh mit den Load Balancing-APIs finden Sie hier:

Nächste Schritte