REST Resource: projects.locations.tcpRoutes

資源:TcpRoute

TcpRoute 資源定義 Mesh/Gateway 資源應如何轉送 TCP 流量。

JSON 表示法
{
  "name": string,
  "selfLink": string,
  "createTime": string,
  "updateTime": string,
  "description": string,
  "rules": [
    {
      object (RouteRule)
    }
  ],
  "meshes": [
    string
  ],
  "gateways": [
    string
  ],
  "labels": {
    string: string,
    ...
  }
}
欄位
name

string

ID。TcpRoute 資源的名稱。符合模式 projects/*/locations/global/tcpRoutes/tcp_route_name>

createTime

string (Timestamp format)

僅供輸出。資源的建立時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

僅供輸出。資源更新時間的時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

description

string

(選用步驟) 資源的自由格式文字說明。長度上限為 1024 個字元。

rules[]

object (RouteRule)

這是必要旗標,定義流量轉送和處理方式的規則。至少須提供一個 RouteRule。如果有多項規則,系統會根據相符的第一項規則採取行動。

meshes[]

string

(選用步驟) 網格會定義這個 TcpRoute 所附加的網格清單,做為其中一項轉送規則,用來轉送網格服務的要求。

每個網格參照都應符合以下模式:projects/*/locations/global/meshes/<mesh_name>

附加的網格應為 SIDECAR 類型

gateways[]

string

(選用步驟) 閘道會定義此 TcpRoute 所附加的閘道清單,做為其中一項轉送規則,用來轉送閘道服務的要求。

每個閘道參照都應符合以下模式:projects/*/locations/global/gateways/<gateway_name>

labels

map (key: string, value: string)

(選用步驟) 與 TcpRoute 資源相關聯的標籤集。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

RouteRule

指定如何比對流量,以及比對流量時如何轉送流量。

JSON 表示法
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
欄位
matches[]

object (RouteMatch)

(選用步驟) RouteMatch 會定義用於將要求與指定動作比對的述詞。系統會對多個比對類型執行「OR」運算,以進行評估。如未指定 routeMatch 欄位,這項規則會無條件比對流量。

action

object (RouteAction)

這是必要旗標,詳細規則,定義如何轉送相符的流量。

RouteMatch

RouteMatch 會定義用於將要求與指定動作比對的述詞。系統會對多個比對類型執行「OR」運算,以進行評估。如未指定 routeMatch 欄位,這項規則會無條件比對流量。

JSON 表示法
{
  "address": string,
  "port": string
}
欄位
address

string

這是必要旗標,必須以 CIDR 範圍格式指定。CIDR 範圍由 IP 位址和前置長度組成,用於建構子網路遮罩。根據預設,前置長度為 32 (即符合單一 IP 位址)。系統僅支援 IPV4 位址。範例:「10.0.0.1」- 完全符合這個 IP 位址。「10.0.0.0/8」- 比對 10.0.0.0 子網路和 255.255.255.0 遮罩中的任何 IP 位址。「0.0.0.0/0」- 比對任何 IP 位址。

port

string

這是必要旗標,指定要比對的目的地通訊埠。

RouteAction

轉送流量和套用相關政策的規格。

JSON 表示法
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ],
  "originalDestination": boolean,
  "idleTimeout": string
}
欄位
destinations[]

object (RouteDestination)

(選用步驟) 流量應轉送到的目的地服務。至少須提供一個目的地服務。只能設定路線目的地或原始目的地。

originalDestination

boolean

(選用步驟) 如果為 true,Router 會使用原始連線的目的地 IP 和通訊埠做為要求目的地。預設值為 False。只能設定路線目的地或原始目的地。

idleTimeout

string (Duration format)

(選用步驟) 指定所選路徑的閒置逾時時間。閒置逾時是指上游或下游連線沒有傳送或接收任何位元組的期間。如未設定,預設閒置逾時時間為 30 秒。如果設為 0 秒,系統會停用逾時。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

RouteDestination

說明要將流量導向的目的地。

JSON 表示法
{
  "serviceName": string,
  "weight": integer
}
欄位
serviceName

string

這是必要旗標,要將流量轉送至的 BackendService 網址。

weight

integer

(選用步驟) 指定轉送至 serviceName 欄位所參照後端的請求比例。計算方式為:- weight/Sum(weights in this destination list)。如果值不為零,則可能與這裡定義的確切比例有些許差異,視實作支援的精確度而定。

如果只指定一個 serviceName,且權重大於 0,則 100% 的流量會轉送至該後端。

如果為任一服務名稱指定權重,則必須為所有服務名稱指定權重。

如果所有服務都未指定權重,系統會將流量平均分配給所有服務。

方法

create

在指定專案和位置中建立新的 TcpRoute。

delete

刪除單一 TcpRoute。

get

取得單一 TcpRoute 的詳細資料。

list

列出指定專案和位置中的 TcpRoute。

patch

更新單一 TcpRoute 的參數。

setIamPolicy

設定指定資源的存取權控管政策。

testIamPermissions

傳回呼叫者在指定資源上擁有的權限。