REST Resource: projects.locations.tlsRoutes

资源:TlsRoute

TlsRoute 定义应如何根据 SNI 和其他匹配的 L3 属性来路由流量。

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

string

必需。TlsRoute 资源的名称。它与模式 projects/*/locations/global/tlsRoutes/tls_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

可选。网格定义了此 TlsRoute 连接到的网格列表,作为路由网格所处理的请求的路由规则之一。

每个网格引用都应符合以下模式:projects/*/locations/global/meshes/<mesh_name>

附加的网格应为 SIDECAR 类型

gateways[]

string

可选。网关定义了此 TlsRoute 连接到的网关列表,将其作为路由规则之一,以路由由该网关处理的请求。

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

labels

map (key: string, value: string)

可选。与 TlsRoute 资源关联的标签标记集。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

RouteRule

指定如何匹配流量,以及如何在流量匹配时路由流量。

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

object (RouteMatch)

必需。RouteMatch 定义用于将请求与给定操作匹配的谓词。在评估时,您可以对多个匹配类型进行“或”操作。

action

object (RouteAction)

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

RouteMatch

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

JSON 表示法
{
  "sniHost": [
    string
  ],
  "alpn": [
    string
  ]
}
字段
sniHost[]

string

可选。要匹配的 SNI(服务器名称指示器)。SNI 将与所有通配符域名进行匹配,例如,www.example.com 将首先与 www.example.com 匹配,然后是 *.example.com,然后 *.com.。部分通配符不受支持,*w.example.com 之类的值是无效的。至少需要 sniHost 和 alpn 其中之一。最多可以设置所有匹配中的 100 个 Sni 主机。

alpn[]

string

可选。要匹配的 ALPN(应用层协议协商)。例如:“http/1.1”“h2”。至少需要 sniHost 和 alpn 其中之一。最多可以设置所有匹配中的 5 个 ALP。

RouteAction

有关路由流量和应用相关政策的规范。

JSON 表示法
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ],
  "idleTimeout": string
}
字段
destinations[]

object (RouteDestination)

必需。流量应转发到的目标服务。必须至少提供一项目标服务。

idleTimeout

string (Duration format)

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

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

RouteDestination

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

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

string

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

weight

integer

可选。指定送达至由 serviceName 字段引用的后端发出的请求所占的比例。计算方法如下: - weight/Sum(目的地的权重值) 所有目的地的权重总和无需等于 100。

方法

create

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

delete

删除单个 TlsRoute。

get

获取单个 TlsRoute 的详细信息。

list

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

patch

更新单个 TlsRoute 的参数。