Recurso: TcpRoute
TcpRoute é o recurso que define como o tráfego TCP deve ser roteado por um recurso de rede mesh/gateway.
Representação JSON |
---|
{
"name": string,
"selfLink": string,
"createTime": string,
"updateTime": string,
"description": string,
"rules": [
{
object ( |
Campos | |
---|---|
name |
Obrigatório. Nome do recurso TcpRoute. Corresponde ao padrão |
selfLink |
Apenas saída. URL definido pelo servidor desse recurso |
createTime |
Apenas saída. O carimbo de data/hora em que o recurso foi criado. Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: |
updateTime |
Apenas saída. O carimbo de data/hora em que o recurso foi atualizado. Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: |
description |
Opcional. Uma descrição em texto livre do recurso. Comprimento máximo de 1.024 caracteres. |
rules[] |
Obrigatório. Regras que definem como o tráfego é roteado e processado. É necessário fornecer pelo menos uma RouteRule. Se houver várias regras, a ação realizada será a primeira regra a ser correspondida. |
meshes[] |
Opcional. "Malhas" define uma lista de malhas a que esse TcpRoute está anexado, como uma das regras de roteamento para rotear as solicitações atendidas pela malha. Cada referência de malha precisa corresponder ao padrão: A malha anexada precisa ser do tipo SIDECAR |
gateways[] |
Opcional. "Gateways" define uma lista de gateways a que o TcpRoute está anexado, como uma das regras de roteamento para rotear as solicitações atendidas pelo gateway. Cada referência de gateway precisa corresponder ao padrão: |
labels |
Opcional. Conjunto de tags de rótulos associadas ao recurso TcpRoute. Um objeto com uma lista de pares |
RouteRule
Especifica como corresponder o tráfego e como rotear o tráfego quando ele for correspondido.
Representação JSON |
---|
{ "matches": [ { object ( |
Campos | |
---|---|
matches[] |
Opcional. RouteMatch define o predicado usado para corresponder solicitações a uma determinada ação. Quando há vários tipos de correspondência, usamos "OU" para avaliação. Se nenhum campo "routeMatch" for especificado, a regra corresponderá ao tráfego incondicionalmente. |
action |
Obrigatório. A regra detalhada que define como rotear o tráfego correspondente. |
RouteMatch
RouteMatch define o predicado usado para corresponder solicitações a uma determinada ação. Quando há vários tipos de correspondência, usamos "OU" para avaliação. Se nenhum campo "routeMatch" for especificado, a regra corresponderá ao tráfego incondicionalmente.
Representação JSON |
---|
{ "address": string, "port": string } |
Campos | |
---|---|
address |
Obrigatório. Precisa ser especificado no formato do intervalo CIDR. Um intervalo CIDR consiste em um endereço IP e um tamanho de prefixo para criar a máscara de sub-rede. Por padrão, o tamanho do prefixo é 32 (ou seja, corresponde a um único endereço IP). Apenas endereços IPV4 são compatíveis. Exemplos: "10.0.0.1" – corresponde a esse endereço IP exato. "10.0.0.0/8" - corresponde a qualquer endereço IP na sub-rede 10.0.0.0 e na máscara 255.255.255.0. "0.0.0.0/0" - corresponde a qualquer endereço IP". |
port |
Obrigatório. Especifica a porta de destino para fazer a correspondência. |
RouteAction
As especificações para rotear o tráfego e aplicar políticas associadas.
Representação JSON |
---|
{
"destinations": [
{
object ( |
Campos | |
---|---|
destinations[] |
Opcional. Os serviços de destino para os quais o tráfego precisa ser encaminhado. Pelo menos um serviço de destino é necessário. Somente um destino do trajeto ou o destino original pode ser definido. |
originalDestination |
Opcional. Se verdadeiro, o roteador usará o IP de destino e a porta da conexão original como o destino da solicitação. O padrão é "false". Somente um dos destinos do trajeto ou do destino original pode ser definido. |
idleTimeout |
Opcional. Especifica o tempo limite de inatividade da rota selecionada. O tempo limite de inatividade é definido como o período em que não há bytes enviados ou recebidos na conexão upstream ou downstream. Se deixada sem definição, o tempo limite de inatividade padrão é de 30 segundos. Se definido como 0s, o tempo limite será desativado. Duração em segundos com até nove dígitos fracionários, terminando em " |
RouteDestination
Descreva o destino do tráfego a ser roteado.
Representação JSON |
---|
{ "serviceName": string, "weight": integer } |
Campos | |
---|---|
serviceName |
Obrigatório. O URL de um BackendService para onde rotear o tráfego. |
weight |
Opcional. Especifica a proporção de solicitações encaminhadas para o back-end referenciado pelo campo serviceName. Isso é calculado como: - peso/SUM(pesos nesta lista de destino). Para valores diferentes de zero, pode haver algum épsilon da proporção exata definida aqui, dependendo da precisão que uma implementação suporta. Se apenas um serviceName for especificado e ele tiver um peso maior que 0, 100% do tráfego será encaminhado para esse back-end. Se os pesos forem especificados para qualquer nome de serviço, eles precisarão ser especificados para todos eles. Se os pesos não forem especificados para todos os serviços, o tráfego será distribuído em proporções iguais a todos eles. |
Métodos |
|
---|---|
|
Cria um novo TcpRoute em um determinado projeto e local. |
|
Exclui um único TcpRoute. |
|
Recebe detalhes de um único TcpRoute. |
|
Lista o TcpRoute em um determinado projeto e local. |
|
Atualiza os parâmetros de um único TcpRoute. |