Weiterleitungsregeln für Cloud Service Mesh

Dieses Dokument bezieht sich nur auf Cloud Service Mesh mit den Load Balancing APIs. Wir empfehlen dringend, die Dienst-Routing-APIs für die Bereitstellung von Cloud Service Mesh zu verwenden.

Cloud Service Mesh bestimmt anhand der Weiterleitungsregel den Zielproxy, an den Traffic im Mesh-Netzwerk 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 den Traffic 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. In der URL-Zuordnung wird auch der Standardwert Back-End-Dienst. Dieser Back-End-Dienst gibt eine Systemdiagnose an und bestimmt das entsprechende Back-End, z. B. eine verwaltete Instanzgruppe (MIG), die VM-Instanzen oder eine Netzwerk-Endpunktgruppe (NEG) die Back-End-Pods der Google Kubernetes Engine (GKE) enthält.

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

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

Eigenschaften von Weiterleitungsregeln

Eine Weiterleitungsregelressource enthält die folgenden Eigenschaften, 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 mit dem Cloud Service Mesh. 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.

Attribut 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 durch Senden einer LDS-Anfrage (Listener Discovery Service) an Cloud Service Mesh auf. Es sind kein DNS-Lookup und kein DNS-Eintrag für den Hostnamen erforderlich.

Daher verwendet Cloud Service Mesh die IP-Adresse 0.0.0.0 und den Port (Standard 80), der im zu suchenden URI angegeben ist die Weiterleitungsregel. Dann sucht Cloud Service Mesh nach einer übereinstimmenden Hostregel in der URL-Zuordnung des Zielproxys, auf den die Weiterleitungsregel verweist.

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 der angegebenen Protokoll, das an diese Ports gesendet wird, 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 Load Balancing nur für Clients innerhalb der Google Cloud-Netzwerk. Den Netzwerknamen geben Sie in der Weiterleitungsregel an. VPC-Peering wird nicht unterstützt.

Globale Weiterleitungsregel hinzufügen

So konfigurieren Sie eine Weiterleitungsregel in der Cloud Service Mesh-Gesamteinrichtung mit den Load Balancing APIs:

Nächste Schritte