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

必需。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

可选。Meshes 定义此 TcpRoute 所附加的网格列表,作为用于路由网格所传送的请求的路由规则之一。

每个 Mesh 引用都应符合格式 projects/*/locations/global/meshes/<mesh_name>

附加的 Mesh 的类型应为 SIDECAR

gateways[]

string

可选。Gateways 定义此 TcpRoute 所附加的网关列表,作为用于路由网关所处理的请求的路由规则之一。

每个 Gateway 引用都应符合以下格式:projects/*/locations/global/gateways/<gateway_name>

labels

map (key: string, value: string)

可选。与 GrpcRoute 资源关联的一组标签标记。

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

idleTimeout

string (Duration format)

可选。指定所选路由的空闲超时时间。空闲超时时间定义为上行或下行连接未发送或未接收任何字节的时间段。如果未设置,则默认空闲超时为 30 秒。如果设置为 0 秒,则系统会停用超时。

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

RouteDestination

描述要将流量路由到的目标位置。

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

string

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

weight

integer

可选。指定转发到 serviceName 字段所引用后端的请求比例。计算方式如下:- 权重 ÷ 此目标列表中的总权重。对于非零值,根据实现支持的精度,相对于此处定义的确切比例可能会存在一些小数。

如果只指定了一个 serviceName,并且其权重大于 0,则 100% 的流量会转发到该后端。

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

如果未为所有服务指定权重,则系统会按相等的比例将流量分配给所有服务。

方法

create

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

delete

删除单个 TcpRoute。

get

获取单个 TcpRoute 的详细信息。

list

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

patch

更新单个 TcpRoute 的参数。

setIamPolicy

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

testIamPermissions

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