Ressource: TcpRoute
TcpRoute ist die Ressource, die definiert, wie TCP-Traffic von einer Mesh-/Gateway-Ressource weitergeleitet werden soll.
JSON-Darstellung |
---|
{
"name": string,
"selfLink": string,
"createTime": string,
"updateTime": string,
"description": string,
"rules": [
{
object ( |
Felder | |
---|---|
name |
Erforderlich. Name der TcpRoute-Ressource. Sie stimmt mit dem Muster |
selfLink |
Nur Ausgabe. Serverdefinierte URL dieser Ressource |
createTime |
Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource erstellt wurde. Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
updateTime |
Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource aktualisiert wurde. Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
description |
Optional. Eine Freitextbeschreibung der Ressource. Maximale Länge: 1.024 Zeichen. |
rules[] |
Erforderlich. Regeln, die festlegen, wie Traffic weitergeleitet und verarbeitet wird. Es muss mindestens eine RouteRule angegeben werden. Wenn es mehrere Regeln gibt, wird die Aktion der ersten übereinstimmenden Regel ausgeführt. |
meshes[] |
Optional. Mit „Meshes“ wird eine Liste von Meshes definiert, mit denen diese TcpRoute verknüpft ist. Dies ist eine der Routingregeln für die Weiterleitung der vom Mesh gesendeten Anfragen. Jede Mesh-Referenz muss dem Muster entsprechen: Das angehängte Mesh sollte vom Typ SIDECAR sein. |
gateways[] |
Optional. „Gateways“ definiert eine Liste von Gateways, an die diese TcpRoute angehängt ist, als eine der Routingregeln für die Weiterleitung der vom Gateway gesendeten Anfragen. Jede Gateway-Referenz muss dem Muster entsprechen: |
labels |
Optional. Mit der TcpRoute-Ressource verknüpfte Label-Tags. Ein Objekt, das eine Liste von |
RouteRule
Hier wird festgelegt, wie Traffic abgeglichen und weitergeleitet wird, wenn ein Abgleich erfolgt.
JSON-Darstellung |
---|
{ "matches": [ { object ( |
Felder | |
---|---|
matches[] |
Optional. Mit RouteMatch wird das Prädikat definiert, mit dem Anfragen mit einer bestimmten Aktion abgeglichen werden. Bei der Auswertung werden mehrere Keyword-Optionen „ODER“ verknüpft. Wenn kein Feld „routeMatch“ angegeben ist, wird mit dieser Regel der Traffic bedingungslos abgeglichen. |
action |
Erforderlich. Die detaillierte Regel, die festlegt, wie übereinstimmender Traffic weitergeleitet wird. |
RouteMatch
Mit RouteMatch wird das Prädikat definiert, mit dem Anfragen mit einer bestimmten Aktion abgeglichen werden. Bei der Auswertung werden mehrere Keyword-Optionen „ODER“ verknüpft. Wenn kein Feld „routeMatch“ angegeben ist, wird mit dieser Regel der Traffic bedingungslos abgeglichen.
JSON-Darstellung |
---|
{ "address": string, "port": string } |
Felder | |
---|---|
address |
Erforderlich. Muss im CIDR-Bereichsformat angegeben werden. Ein CIDR-Bereich besteht aus einer IP-Adresse und einer Präfixlänge, um die Subnetzmaske zu erstellen. Standardmäßig ist die Präfixlänge 32, d.h. sie entspricht einer einzelnen IP-Adresse. Nur IPv4-Adressen werden unterstützt. Beispiele: „10.0.0.1“ – Übereinstimmung mit genau dieser IP-Adresse. „10.0.0.0/8“ – stimmt mit jeder IP-Adresse im Subnetz 10.0.0.0 und der Maske 255.255.255.0 überein. „0.0.0.0/0“ – stimmt mit jeder IP-Adresse überein. |
port |
Erforderlich. Gibt den Zielport an, mit dem abgeglichen werden soll. |
RouteAction
Die Spezifikationen zum Weiterleiten von Traffic und Anwenden der zugehörigen Richtlinien.
JSON-Darstellung |
---|
{
"destinations": [
{
object ( |
Felder | |
---|---|
destinations[] |
Optional. Die Zieldienste, an die Traffic weitergeleitet werden soll. Es ist mindestens ein Zieldienst erforderlich. Es kann nur eines der beiden Ziele festgelegt werden. |
originalDestination |
Optional. Wenn diese Option aktiviert ist, verwendet der Router die Ziel-IP-Adresse und den Zielport der ursprünglichen Verbindung als Ziel der Anfrage. Der Standardwert ist "False". Es kann nur eines der Zielorte für die Route oder das ursprüngliche Ziel festgelegt werden. |
idleTimeout |
Optional. Gibt das Zeitlimit für die Inaktivität für die ausgewählte Route an. Die Zeitüberschreitung bei Inaktivität wird als der Zeitraum definiert, in dem weder über die Upstream- noch über die Downstream-Verbindung Bytes gesendet oder empfangen werden. Wenn Sie keinen Wert festlegen, beträgt die Standardzeitüberschreitung für Inaktivität 30 Sekunden. Wenn der Wert auf „0 Sekunden“ gesetzt ist, wird die Zeitüberschreitung deaktiviert. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit " |
RouteDestination
Beschreiben Sie das Ziel, an das der Traffic weitergeleitet werden soll.
JSON-Darstellung |
---|
{ "serviceName": string, "weight": integer } |
Felder | |
---|---|
serviceName |
Erforderlich. Die URL eines Back-End-Dienstes, an den Traffic weitergeleitet werden soll. |
weight |
Optional. Gibt den Anteil der Anfragen an, die an das Back-End weitergeleitet werden, auf das im Feld „serviceName“ verwiesen wird. Die Berechnung erfolgt so: - Gewicht ÷ Summe der Gewichte in dieser Zielliste. Bei Werten ungleich 0 kann es je nach Genauigkeit der Implementierung zu Abweichungen vom hier definierten genauen Anteil kommen. Wenn nur ein serviceName angegeben ist und dieser ein Gewicht von mehr als 0 hat, werden 100% des Traffics an dieses Backend weitergeleitet. Wenn Gewichte für einen Dienstnamen angegeben werden, müssen sie für alle Dienstnamen angegeben werden. Wenn für alle Dienste keine Gewichtungen angegeben sind, wird der Traffic gleichmäßig auf alle verteilt. |
Methoden |
|
---|---|
|
Erstellt eine neue TcpRoute in einem bestimmten Projekt und an einem bestimmten Ort. |
|
Löscht eine einzelne TcpRoute. |
|
Ruft Details zu einer einzelnen TcpRoute ab. |
|
Listet TcpRoute in einem angegebenen Projekt und an einem angegebenen Standort auf. |
|
Aktualisiert die Parameter einer einzelnen TcpRoute. |