Risorsa: TcpRoute
TcpRoute è la risorsa che definisce in che modo il traffico TCP deve essere instradato 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. URL definito dal server di questa risorsa |
createTime |
Solo output. Timestamp di creazione della risorsa. Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: |
updateTime |
Solo output. Il timestamp dell'aggiornamento della risorsa. Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: |
description |
Facoltativo. Una descrizione in testo libero della risorsa. Lunghezza massima: 1024 caratteri. |
rules[] |
Obbligatorio. Regole che definiscono la modalità di instradamento e gestione del traffico. Devi specificare almeno una regola RouteRule. Se sono presenti più regole, verrà intrapresa l'azione della prima regola che corrisponde. |
meshes[] |
Facoltativo. Meshes definisce un elenco di mesh a cui è associata questa route TCP, come una delle regole di routing per instradare le richieste servite dal mesh. Ogni riferimento alla mesh deve corrispondere al pattern: La mesh collegata deve essere di tipo SIDECAR |
gateways[] |
Facoltativo. Gateways definisce un elenco di gateway a cui è associata questa route TCP, come una delle regole di routing per instradare le richieste servite dal gateway. Ogni riferimento al gateway deve corrispondere al pattern: |
labels |
Facoltativo. Set di tag etichetta associati alla risorsa TcpRoute. Un oggetto contenente un elenco di coppie |
RouteRule
Specifica come associare il traffico e come indirizzarlo quando viene associato.
Rappresentazione JSON |
---|
{ "matches": [ { object ( |
Campi | |
---|---|
matches[] |
Facoltativo. RouteMatch definisce il predicato utilizzato per abbinare le richieste a una determinata azione. Per la valutazione vengono utilizzati più tipi di corrispondenza con la logica OR. Se non viene specificato alcun campo routeMatch, questa regola corrisponderà incondizionatamente al traffico. |
action |
Obbligatorio. La regola dettagliata che definisce come instradare il traffico corrispondente. |
RouteMatch
RouteMatch definisce il predicato utilizzato per abbinare le richieste a una determinata azione. Per la valutazione vengono utilizzati più tipi di corrispondenza con la logica OR. Se non viene specificato alcun campo routeMatch, questa regola corrisponderà incondizionatamente al traffico.
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 la costruzione della 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 a cui abbinare la regola. |
RouteAction
Le specifiche per il routing del traffico e l'applicazione dei criteri associati.
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 del percorso o della destinazione originale. |
originalDestination |
Facoltativo. Se true, il router utilizzerà l'IP e la porta di destinazione della connessione originale come destinazione della richiesta. Il valore predefinito è false. È possibile impostare una sola destinazione del percorso o la destinazione originale. |
idleTimeout |
Facoltativo. Specifica il timeout inattivo per il percorso selezionato. Il timeout inattivo è 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 è 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 deve essere indirizzato il traffico.
Rappresentazione JSON |
---|
{ "serviceName": string, "weight": integer } |
Campi | |
---|---|
serviceName |
Obbligatorio. L'URL di un servizio di backend a cui instradare il traffico. |
weight |
Facoltativo. Specifica la proporzione di richieste inoltrate al backend a cui fa riferimento il campo serviceName. Questo valore viene calcolato come segue: - peso/Somma(pesi in questo elenco di destinazioni). Per i valori diversi da zero, potrebbe esserci un'epsilon dalla proporzione esatta definita qui, a seconda della precisione supportata da un'implementazione. Se viene specificato un solo serviceName e ha un peso maggiore di 0, il 100% del traffico viene inoltrato a quel backend. Se i pesi vengono specificati per un nome di servizio, devono essere specificati per tutti. Se i pesi non sono specificati per tutti i servizi, il traffico viene distribuito in proporzioni uguali a tutti. |
Metodi |
|
---|---|
|
Crea una nuova route TCP in un determinato progetto e posizione. |
|
Consente di eliminare un singolo TcpRoute. |
|
Recupera i dettagli di un singolo TcpRoute. |
|
Elenca TcpRoute in un determinato progetto e località. |
|
Aggiorna i parametri di un singolo TcpRoute. |
|
Imposta il criterio di controllo dell'accesso sulla risorsa specificata. |
|
Restituisce le autorizzazioni di cui dispone un chiamante sulla risorsa specificata. |