Recurso: TcpRoute
O TcpRoute é o recurso que define como o tráfego TCP deve ser roteado por um recurso 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. Ele corresponde ao padrão |
selfLink |
Apenas saída. URL definido pelo servidor deste 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 será a primeira regra correspondente. |
meshes[] |
Opcional. As malhas definem uma lista de malhas a que essa TcpRoute está anexada, 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 enviadas pelo gateway. Cada referência de gateway precisa corresponder ao padrão: |
labels |
Opcional. Conjunto de tags de rótulo associadas ao recurso TcpRoute. Um objeto com uma lista de pares |
RouteRule
Especifica como corresponder e rotear o tráfego quando ele for correspondido.
Representação JSON |
---|
{ "matches": [ { object ( |
Campos | |
---|---|
matches[] |
Opcional. O RouteMatch define o predicado usado para corresponder solicitações a uma determinada ação. Vários tipos de correspondência são "OU" para avaliação. Se nenhum campo de routeMatch for especificado, essa regra vai corresponder ao tráfego de forma incondicional. |
action |
Obrigatório. A regra detalhada que define como rotear o tráfego correspondente. |
RouteMatch
O RouteMatch define o predicado usado para corresponder solicitações a uma determinada ação. Vários tipos de correspondência são "OU" para avaliação. Se nenhum campo routeMatch for especificado, essa regra vai corresponder ao tráfego de forma incondicional.
Representação JSON |
---|
{ "address": string, "port": string } |
Campos | |
---|---|
address |
Obrigatório. Precisa ser especificado no formato de intervalo CIDR. Um intervalo CIDR consiste em um endereço IP e um comprimento de prefixo para construir a máscara de sub-rede. Por padrão, o comprimento do prefixo é 32 (ou seja, corresponde a um único endereço IP). Somente endereços IPV4 são aceitos. Exemplos: "10.0.0.1" corresponde exatamente a este endereço IP. "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 a ser usada. |
RouteAction
As especificações para rotear o tráfego e aplicar as 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. É necessário pelo menos um serviço de destino. Só é possível definir um dos destinos da rota ou o destino original. |
originalDestination |
Opcional. Se verdadeiro, o roteador vai usar o IP de destino e a porta da conexão original como destino da solicitação. O padrão é "false". Somente um dos destinos da rota ou o 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 não for definido, o tempo limite de inatividade padrão será 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
Defina o destino para onde o tráfego será roteado.
Representação JSON |
---|
{ "serviceName": string, "weight": integer } |
Campos | |
---|---|
serviceName |
Obrigatório. O URL de um BackendService para encaminhar o tráfego. |
weight |
Opcional. Especifica a proporção de solicitações encaminhadas ao back-end referenciado pelo campo serviceName. Isso é calculado como: - peso/soma(pesos na lista de destinos). Para valores diferentes de zero, pode haver um valor epsilon da proporção exata definida aqui, dependendo da precisão com que uma implementação é compatível. Se apenas um serviceName for especificado e tiver um peso maior que 0, 100% do tráfego será encaminhado para esse back-end. Se os pesos for especificados para um nome de serviço, eles precisarão ser especificados para todos. Se os pesos não forem especificados para todos os serviços, o tráfego será distribuído em proporções iguais para todos eles. |
Métodos |
|
---|---|
|
Cria uma nova TcpRoute em um determinado projeto e local. |
|
Exclui uma única TcpRoute. |
|
Recebe detalhes de uma única TcpRoute. |
|
Lista TcpRoute em um determinado projeto e local. |
|
Atualiza os parâmetros de uma única TcpRoute. |