Recurso: TcpRoute
TcpRoute es el recurso que define cómo un recurso Mesh o Gateway debe enrutar el tráfico TCP.
Representación JSON |
---|
{
"name": string,
"selfLink": string,
"createTime": string,
"updateTime": string,
"description": string,
"rules": [
{
object ( |
Campos | |
---|---|
name |
Identificador. Nombre del recurso TcpRoute. Coincide con el patrón |
selfLink |
Solo salida. Es la URL definida por el servidor de este recurso. |
createTime |
Solo salida. Marca de tiempo cuando se creó el recurso. Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z". Ejemplos: |
updateTime |
Solo salida. La marca de tiempo cuando se creó el recurso. Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z". Ejemplos: |
description |
Opcional. Es una descripción de texto libre del recurso. La longitud máxima es de 1,024 caracteres. |
rules[] |
Obligatorio. Son reglas que definen cómo se enruta y controla el tráfico. Se debe proporcionar al menos un RouteRule. Si hay varias reglas, la acción que se tomará será la de la primera regla que coincida. |
meshes[] |
Opcional. Meshes define una lista de mallas a las que se adjunta este TcpRoute, como una de las reglas de enrutamiento para enrutar las solicitudes que entrega la malla. Cada referencia de malla debe coincidir con el patrón El Mesh adjunto debe ser de tipo SIDECAR. |
gateways[] |
Opcional. Gateways define una lista de puertas de enlace a las que se adjunta este TcpRoute, como una de las reglas de enrutamiento para enrutar las solicitudes que entrega la puerta de enlace. Cada referencia de puerta de enlace debe coincidir con el patrón |
labels |
Opcional. Es un conjunto de etiquetas asociadas con el recurso TcpRoute. Un objeto que contiene una lista de pares |
RouteRule
Especifica cómo hacer coincidir el tráfico y cómo enrutarlo cuando se encuentra una coincidencia.
Representación JSON |
---|
{ "matches": [ { object ( |
Campos | |
---|---|
matches[] |
Opcional. RouteMatch define el predicado que se usa para hacer coincidir las solicitudes con una acción determinada. Se aplica el operador "O" a varios tipos de concordancia para la evaluación. Si no se especifica ningún campo routeMatch, esta regla coincidirá con el tráfico de forma incondicional. |
action |
Obligatorio. Es la regla detallada que define cómo enrutar el tráfico coincidente. |
RouteMatch
RouteMatch define el predicado que se usa para hacer coincidir las solicitudes con una acción determinada. Se aplica el operador "O" a varios tipos de concordancia para la evaluación. Si no se especifica ningún campo routeMatch, esta regla coincidirá con el tráfico de forma incondicional.
Representación JSON |
---|
{ "address": string, "port": string } |
Campos | |
---|---|
address |
Obligatorio. Debe especificarse en el formato de rango CIDR. Un rango de CIDR consta de una dirección IP y una longitud de prefijo para construir la máscara de subred. De forma predeterminada, la longitud del prefijo es 32 (es decir, coincide con una sola dirección IP). Solo se admiten direcciones IPv4. Ejemplos: "10.0.0.1" (coincide con esta dirección IP exacta) "10.0.0.0/8": Coincide con cualquier dirección IP dentro de la subred 10.0.0.0 y la máscara 255.255.255.0. "0.0.0.0/0": Coincide con cualquier dirección IP. |
port |
Obligatorio. Especifica el puerto de destino con el que se debe establecer la coincidencia. |
RouteAction
Son las especificaciones para enrutar el tráfico y aplicar las políticas asociadas.
Representación JSON |
---|
{
"destinations": [
{
object ( |
Campos | |
---|---|
destinations[] |
Opcional. Son los servicios de destino a los que se debe reenviar el tráfico. Se requiere al menos un servicio de destino. Solo se puede establecer uno de los destinos: el de la ruta o el original. |
originalDestination |
Opcional. Si es verdadero, el router usará la IP y el puerto de destino de la conexión original como destino de la solicitud. El valor predeterminado es falso. Solo se puede establecer uno de los destinos de la ruta o el destino original. |
idleTimeout |
Opcional. Especifica el tiempo de espera por inactividad para la ruta seleccionada. El tiempo de espera por inactividad se define como el período en el que no se envían ni reciben bytes en la conexión ascendente o descendente. Si no se configura, el tiempo de espera predeterminado por inactividad es de 30 segundos. Si se establece en 0 s, se inhabilitará el tiempo de espera. Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
RouteDestination
Describe el destino al que se enrutará el tráfico.
Representación JSON |
---|
{ "serviceName": string, "weight": integer } |
Campos | |
---|---|
serviceName |
Obligatorio. Es la URL de un BackendService al que se enrutará el tráfico. |
weight |
Opcional. Especifica la proporción de solicitudes que se reenvían al backend al que hace referencia el campo serviceName. Se calcula de la siguiente manera: - peso/Suma(pesos en esta lista de destinos). Para los valores distintos de cero, puede haber un cierto valor de épsilon a partir de la proporción exacta definida aquí, según la precisión que admita una implementación. Si solo se especifica un serviceName y tiene un peso superior a 0, el 100% del tráfico se reenvía a ese backend. Si se especifican pesos para algún nombre de servicio, se deben especificar para todos. Si no se especifican pesos para todos los servicios, el tráfico se distribuye en proporciones iguales entre todos ellos. |
Métodos |
|
---|---|
|
Crea una nueva TcpRoute en un proyecto y una ubicación determinados. |
|
Borra un solo TcpRoute. |
|
Obtiene los detalles de una sola TcpRoute. |
|
Enumera TcpRoute en una ubicación y un proyecto determinados. |
|
Actualiza los parámetros de una sola TcpRoute. |