REST Resource: projects.locations.tcpRoutes

资源:TcpRoute

TcpRoute 是用于定义网格/网关资源应如何路由 TCP 流量的资源。

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

string

必需。TcpRoute 资源的名称。它与模式 projects/*/locations/global/tcpRoutes/tcp_route_name> 匹配。

createTime

string (Timestamp format)

仅限输出。创建资源时的时间戳。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

仅限输出。资源更新时的时间戳。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

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 定义用于将请求与给定操作匹配的谓词。在评估时,您可以对多个匹配类型进行“或”操作。如果未指定 RouterMatch 字段,此规则将无条件匹配流量。

action

object (RouteAction)

必需。用于定义如何转送匹配流量的详细规则。

RouteMatch

RouteMatch 定义用于将请求与给定操作匹配的谓词。在评估时,您可以对多个匹配类型进行“或”操作。如果未指定 RouterMatch 字段,此规则将无条件匹配流量。

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,路由器将使用原始连接的目标 IP 和端口作为请求的目标。默认值为 False。只能设置路线目的地或原始目的地中的一个。

idleTimeout

string (Duration format)

可选。指定所选路由的空闲超时。空闲超时是指在上行或下行连接上未发送或接收字节的时间段。如果未设置,则默认空闲超时时间为 30 秒。如果设置为 0s,超时将被停用。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

RouteDestination

描述流量要路由到的目的地。

JSON 表示法
{
  "serviceName": string,
  "weight": integer
}
字段
serviceName

string

必需。要将流量路由到的 BackendService 的网址。

weight

integer

可选。指定转发到 serviceName 字段引用的后端的请求比例。计算公式如下:- 权重/总和(此目标列表中的权重)。对于非零值,可能与此处定义的精确比例存在一些 epsilon,具体取决于实现支持的精度。

如果仅指定一个 serviceName 且其权重大于 0,则全部流量都会转发到该后端。

如果为任何一个服务名称指定了权重,则需要为所有服务名称指定权重。

如果未指定所有服务的权重,则流量将按照所有服务的比例进行分配。

方法

create

在给定的项目和位置中创建新的 TcpRoute。

delete

删除单个 TcpRoute。

get

获取单个 TcpRoute 的详细信息。

getIamPolicy

获取资源的访问权限控制政策。

list

列出给定项目和位置中的 TcpRoute。

patch

更新单个 TcpRoute 的参数。

setIamPolicy

设置对指定资源的访问权限控制政策。

testIamPermissions

返回调用者对指定资源拥有的权限。