Risorsa: TcpRoute
TcpRoute è la risorsa che definisce il modo in cui 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. Timestamp di 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 le modalità di routing 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: Il mesh collegato 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 gateway deve corrispondere al pattern: |
labels |
Facoltativo. Set di tag etichetta associati alla risorsa TcpRoute. Un oggetto contenente un elenco di |
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 associare le richieste a una determinata azione. Più tipi di corrispondenza vengono contrassegnati con "OR" per la valutazione. Se non viene specificato alcun campo routeMatch, questa regola corrisponderà incondizionatamente al traffico. |
action |
Obbligatorio. La regola dettagliata che definisce il modo in cui 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 l'operatore 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 è composto da un indirizzo IP e da un prefisso per creare 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 da utilizzare per la corrispondenza. |
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 impostato su true, il router utilizzerà l'IP di destinazione e la porta 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. Per timeout di inattività si intende il periodo in cui non vengono inviati o ricevuti byte nella connessione a monte o a valle. Se non viene impostato, il timeout di inattività predefinito è 30 secondi. Se impostato su 0 s, il timeout verrà disattivato. Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
RouteDestination
Descrivi la destinazione del traffico da instradare.
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: - weight/somma(ponderazioni in questo elenco di destinazione). Per i valori diversi da zero, potrebbe esserci un'epsilon della 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 le ponderazioni non sono specificate per tutti i servizi, il traffico viene distribuito in proporzioni uguali tra tutti i servizi. |
Metodi |
|
---|---|
|
Crea una nuova route TCP in un determinato progetto e posizione. |
|
Consente di eliminare un singolo TcpRoute. |
|
Restituisce i dettagli di una singola TcpRoute. |
|
Recupera il criterio di controllo dell'accesso per una risorsa. |
|
Elenca TcpRoute in un progetto e in una località specifici. |
|
Aggiorna i parametri di una singola TcpRoute. |
|
Imposta il criterio di controllo dell'accesso sulla risorsa specificata. |
|
Restituisce le autorizzazioni di cui un chiamante dispone per la risorsa specificata. |