资源:TcpRoute
TcpRoute 是一项资源,用于定义应如何由 Mesh/Gateway 资源路由 TCP 流量。
JSON 表示法 |
---|
{
"name": string,
"selfLink": string,
"createTime": string,
"updateTime": string,
"description": string,
"rules": [
{
object ( |
字段 | |
---|---|
name |
必需。TcpRoute 资源的名称。它与 |
selfLink |
仅限输出。此资源的服务器定义网址 |
createTime |
仅限输出。创建资源时的时间戳。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
updateTime |
仅限输出。更新资源时的时间戳。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
description |
可选。资源的自由文本说明。长度上限为 1024 个字符。 |
rules[] |
必需。用于定义流量路由和处理方式的规则。必须提供至少一个 RouteRule。如果存在多条规则,所执行的操作将是第一个匹配的规则。 |
meshes[] |
可选。Meshes 定义了此 TcpRoute 附加到的网格列表,作为路由网格提供的请求的路由规则之一。 每个网格引用都应与以下模式匹配: 附加的网格的类型应为 SIDECAR |
gateways[] |
可选。Gateways 定义了此 TcpRoute 附加到的网关列表,作为路由网关所处理请求的路由规则之一。 每个网关引用都应匹配以下格式: |
labels |
可选。与 TcpRoute 资源关联的一组标签。 包含一系列 |
RouteRule
指定如何匹配流量以及如何在匹配流量时路由流量。
JSON 表示法 |
---|
{ "matches": [ { object ( |
字段 | |
---|---|
matches[] |
可选。RouteMatch 用于定义用于将请求与给定操作进行匹配的谓词。有多个匹配类型使用“OR”运算符求值。如果未指定 routeMatch 字段,则此规则将无条件匹配流量。 |
action |
必需。定义如何路由匹配流量的详细规则。 |
RouteMatch
RouteMatch 定义用于将请求与给定操作匹配的谓词。有多个匹配类型使用“OR”运算符求值。如果未指定 routeMatch 字段,则此规则将无条件匹配流量。
JSON 表示法 |
---|
{ "address": string, "port": string } |
字段 | |
---|---|
address |
必需。必须以 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 |
必需。指定要匹配的目标端口。 |
RouteAction
用于路由流量和应用关联政策的规范。
JSON 表示法 |
---|
{
"destinations": [
{
object ( |
字段 | |
---|---|
destinations[] |
可选。应将流量转发到的目标服务。必须至少指定一个目标服务。只能设置路线目的地或原始目的地之一。 |
originalDestination |
可选。如果为 true,路由器将使用原始连接的目标 IP 和端口作为请求的目标。默认值为 False。只能设置路线目的地或原始目的地之一。 |
idleTimeout |
可选。指定选定路由的空闲超时时间。空闲超时是指没有在上行或下行连接上发送或接收字节的时间段。如果未设置,默认空闲超时时间为 30 秒。如果设为 0 秒,则会停用超时。 该时长以秒为单位,最多包含九个小数位,以“ |
RouteDestination
描述要路由到的流量的目的地。
JSON 表示法 |
---|
{ "serviceName": string, "weight": integer } |
字段 | |
---|---|
serviceName |
必需。要将流量路由到的 BackendService 的网址。 |
weight |
可选。指定转发到 serviceName 字段引用的后端的请求比例。计算方式如下:- 权重/总和(此目的地列表中的权重)。对于非零值,此处定义的精确比例可能会有一些 Epsilon 值,具体取决于实现支持的精度。 如果只指定了 1 个 serviceName,并且其权重大于 0,则系统会将 100% 的流量转发到该后端。 如果为任何服务名称指定了权重,则需要为所有服务名称指定权重。 如果未为所有服务指定权重,则流量会按相等的比例分配给所有服务。 |
方法 |
|
---|---|
|
在给定的项目和位置中创建新的 TcpRoute。 |
|
删除单个 TcpRoute。 |
|
获取单个 TcpRoute 的详细信息。 |
|
列出给定项目和位置中的 TcpRoute。 |
|
更新单个 TcpRoute 的参数。 |