Risorsa: TcpRoute
TcpRoute è la risorsa che definisce in che modo il traffico TCP deve essere indirizzato da una risorsa Mesh/Gateway.
| Rappresentazione JSON |
|---|
{
"name": string,
"selfLink": string,
"createTime": string,
"updateTime": string,
"description": string,
"rules": [
{
object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Nome della risorsa TcpRoute. Corrisponde al pattern |
selfLink |
Solo output. L'URL definito dal server di questa risorsa. |
createTime |
Solo output. Timestamp di creazione della risorsa. Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. Esempi: |
updateTime |
Solo output. Timestamp dell'aggiornamento della risorsa. Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. Esempi: |
description |
Facoltativo. Una descrizione in formato libero della risorsa. Lunghezza massima: 1024 caratteri. |
rules[] |
Obbligatorio. Regole che definiscono come viene indirizzato e gestito il traffico. È necessario specificare almeno una RouteRule. Se sono presenti più regole, l'azione intrapresa sarà la prima regola corrispondente. |
meshes[] |
Facoltativo. Meshes definisce un elenco di mesh a cui è collegata questa risorsa TcpRoute, come una delle regole di routing per indirizzare le richieste gestite dal mesh. Ogni riferimento al mesh deve corrispondere al pattern: Il mesh collegato deve essere di tipo SIDECAR |
gateways[] |
Facoltativo. Gateways definisce un elenco di gateway a cui è collegata questa risorsa TcpRoute, come una delle regole di routing per indirizzare le richieste gestite dal gateway. Ogni riferimento al gateway deve corrispondere al pattern: |
labels |
Facoltativo. Insieme di tag di etichette associati alla risorsa TcpRoute. Un oggetto contenente un elenco di coppie |
RouteRule
Specifica come trovare la corrispondenza del traffico e come indirizzarlo una volta trovata la corrispondenza.
| Rappresentazione JSON |
|---|
{ "matches": [ { object ( |
| Campi | |
|---|---|
matches[] |
Facoltativo. RouteMatch definisce il predicato utilizzato per determinare le richieste corrispondenti a una determinata azione. Per la valutazione, i vari tipi di corrispondenza vengono combinati con l'operatore "OR". Se non viene specificato alcun campo routeMatch, questa regola abbinerà il traffico incondizionatamente. |
action |
Obbligatorio. Regola dettagliata che definisce come indirizzare il traffico corrispondente. |
RouteMatch
RouteMatch definisce il predicato utilizzato per determinare le richieste corrispondenti a una determinata azione. Per la valutazione, i vari tipi di corrispondenza vengono combinati con l'operatore "OR". Se non viene specificato alcun campo routeMatch, questa regola abbinerà il traffico incondizionatamente.
| Rappresentazione JSON |
|---|
{ "address": string, "port": string } |
| Campi | |
|---|---|
address |
Obbligatorio. Deve essere specificato nel formato dell'intervallo CIDR. Un intervallo CIDR è costituito da un indirizzo IP e da una lunghezza del prefisso per costruire la subnet mask. Per impostazione predefinita, la lunghezza del prefisso è 32 (ovvero corrisponde a un singolo indirizzo IP). Sono supportati solo gli indirizzi IPV4. Esempi: "10.0.0.1" corrisponde a questo indirizzo IP esatto. "10.0.0.0/8" - corrisponde a qualsiasi indirizzo IP all'interno della subnet 10.0.0.0 e della maschera 255.255.255.0. "0.0.0.0/0" - corrisponde a qualsiasi indirizzo IP. |
port |
Obbligatorio. Specifica la porta di destinazione per la corrispondenza. |
RouteAction
Le specifiche per il routing del traffico e l'applicazione delle policy associate.
| Rappresentazione JSON |
|---|
{
"destinations": [
{
object ( |
| Campi | |
|---|---|
destinations[] |
Facoltativo. I servizi di destinazione a cui deve essere inoltrato il traffico. È necessario almeno un servizio di destinazione. È possibile impostare solo una delle destinazioni route o la destinazione originale. |
originalDestination |
Facoltativo. Se il valore è true, il router utilizzerà l'IP e la porta di destinazione della connessione originale come destinazione della richiesta. Il valore predefinito è false. È possibile impostare solo una delle destinazioni route o la destinazione originale. |
idleTimeout |
Facoltativo. Specifica il timeout di inattività per la route selezionata. Il timeout di inattività è definito come il periodo in cui non vengono inviati o ricevuti byte sulla connessione upstream o downstream. Se non viene impostato, il timeout di inattività predefinito è di 30 secondi. Se impostato su 0 secondi, il timeout verrà disattivato. Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
RouteDestination
Descrivi la destinazione a cui indirizzare il traffico.
| Rappresentazione JSON |
|---|
{ "serviceName": string, "weight": integer } |
| Campi | |
|---|---|
serviceName |
Obbligatorio. L'URL di un BackendService a cui indirizzare il traffico. |
weight |
Facoltativo. Specifica la proporzione di richieste inoltrate al backend a cui fa riferimento il campo serviceName. Questo valore viene calcolato come: - ponderazione/somma(ponderazioni in questo elenco di destinazione). Per valori diversi da zero, potrebbe esserci un epsilon rispetto alla proporzione esatta definita qui, a seconda della precisione supportata dall'implementazione. Se viene specificato un solo serviceName e la relativa ponderazione è maggiore di 0, il 100% del traffico viene inoltrato a quel backend. Se vengono specificate delle ponderazioni per un nome di servizio, devono essere specificate per tutti. Se le ponderazioni non vengono specificate per tutti i servizi, il traffico viene distribuito in proporzioni uguali tra tutti. |
Metodi |
|
|---|---|
|
Crea una nuova risorsa TcpRoute in un progetto e una località specifici. |
|
Elimina una singola risorsa TcpRoute. |
|
Recupera i dettagli di una singola risorsa TcpRoute. |
|
Elenca la risorsa TcpRoute in un progetto e una località specifici. |
|
Aggiorna i parametri di una singola risorsa TcpRoute. |