Recurso: TcpRoute
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 |
Identificador. 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. Usa RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Outros ajustes também são aceitos. Por exemplo, |
updateTime |
Apenas saída. O carimbo de data/hora em que o recurso foi atualizado. Usa RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Outros ajustes também são aceitos. Por exemplo, |
description |
Opcional. Uma descrição de 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 tomada será a da primeira regra correspondente. |
meshes[] |
Opcional. "Meshes" define 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 essa TcpRoute está anexada, 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ótulo associadas ao recurso TcpRoute. Um objeto com uma lista de pares |
RouteRule
Especifica como fazer a correspondência e o roteamento do tráfego.
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 combinados com "OR" para avaliação. Se nenhum campo "routeMatch" for especificado, essa regra vai corresponder ao tráfego incondicionalmente. |
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 combinados com "OR" para avaliação. Se nenhum campo "routeMatch" for especificado, essa regra vai corresponder ao tráfego incondicionalmente.
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 tamanho de prefixo para construir a máscara de sub-rede. Por padrão, o tamanho 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 esse 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 para correspondência. |
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 deve ser encaminhado. É necessário pelo menos um serviço de destino. Apenas um dos destinos (da rota ou original) pode ser definido. |
originalDestination |
Opcional. Se for "true", o roteador usará o IP e a porta de destino da conexão original como destino da solicitação. O padrão é "false". Só é possível definir um dos destinos de rota ou o destino original. |
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 for 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 para onde o tráfego será encaminhado.
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 nesta lista de destinos). Para valores diferentes de zero, pode haver um epsilon da proporção exata definida aqui, dependendo da precisão que uma implementação oferece. Se apenas um serviceName for especificado e tiver um peso maior que 0, 100% do tráfego será encaminhado para esse back-end. Se pesos forem 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. |
|
Busca a política de controle de acesso de um recurso. |
|
Lista TcpRoute em um determinado projeto e local. |
|
Atualiza os parâmetros de uma única TcpRoute. |
|
Define a política de controle de acesso no recurso especificado. |
|
Retorna permissões do autor da chamada no recurso especificado. |