Panoramica delle mappe di regole di routing

Questo documento descrive le mappe di regole di routing e il modo in cui gestiscono il traffico nei deployment di Traffic Director che utilizzano le API precedenti. Se utilizzi le nuove API di routing dei servizi, che sono in anteprima, consulta la panoramica delle nuove API di routing dei servizi.

Una mappa di regole di routing è composta da:

Quando crei e configuri queste risorse per Traffic Director, Traffic Director utilizza i valori per creare la configurazione che invia al tuo piano dati, che include client xDS come proxy Envoy e applicazioni gRPC senza proxy. Il piano dati gestisce il traffico in base a questa configurazione.

Una regola di forwarding fa riferimento a un proxy di destinazione e ha un indirizzo IP e una porta. Per i deployment di Traffic Director, lo schema di bilanciamento del carico della regola di forwarding deve essere impostato su INTERNAL_SELF_MANAGED. Il proxy di destinazione, a sua volta, fa riferimento a una mappa URL. Queste tre risorse si combinano per formare una mappa di regole di routing.

Una regola di forwarding che fa riferimento a un proxy gRPC di destinazione con il campo validateForProxyless impostato su TRUE deve avere l'indirizzo IP impostato su 0.0.0.0. Quando validateForProxyless è impostato su TRUE, le configurazioni che specificano un indirizzo IP diverso da 0.0.0.0 vengono rifiutate.

La mappa delle regole di routing definisce il modo in cui il traffico passa dai client ai server all'interno di un mesh di servizi.

Tipi di proxy di destinazione supportati

Traffic Director supporta i seguenti tipi di proxy di destinazione:

  • proxy HTTP di destinazione, che devi configurare quando i client e i server inviano o ricevono traffico HTTP o HTTP/2.
  • proxy HTTPS di destinazione, che devi configurare quando i client e i server inviano o ricevono traffico HTTPS. Questo passaggio è necessario quando configuri la sicurezza del servizio con i proxy Envoy.
  • proxy TCP di destinazione, che devi configurare quando i tuoi client e server inviano o ricevono traffico TCP.
  • proxy gRPC di destinazione, che devi configurare quando i client e i server inviano o ricevono traffico gRPC. I proxy gRPC di destinazione contengono il campo validateForProxyless, che è impostato su TRUE quando esegui il deployment dei servizi gRPC senza proxy.

Routing del traffico con proxy sidecar Envoy

Quando utilizzi Traffic Director con proxy sidecar di Envoy, le richieste del client vengono instradate come segue:

  • Lo stack di rete intercetta la richiesta e la reindirizza al proxy Sidecar Envoy.
  • Il proxy sidecar Envoy controlla l'indirizzo IP e la porta della richiesta.
  • L'indirizzo IP e la coppia di porte vengono controllati in base all'indirizzo IP e alla porta specificati in tutte le regole di forwarding con lo schema di bilanciamento del carico impostato su INTERNAL_SELF_MANAGED.
  • Se viene trovata una regola di forwarding con un indirizzo IP e una porta corrispondenti, Envoy controlla il proxy HTTP di destinazione o il proxy gRPC di destinazione a cui fa riferimento la regola di forwarding.
  • Envoy controlla la mappa URL a cui fa riferimento il proxy di destinazione.
  • Envoy indirizza la richiesta in base alle regole specificate nella mappa URL.

Per informazioni su come il traffico viene instradato con un proxy TCP di destinazione, consulta Instradare il traffico TCP con Traffic Director.

Routing del traffico con applicazioni gRPC senza proxy

Questo comportamento è diverso per le applicazioni gRPC senza proxy. Quando configuri un client gRPC, specifichi l'URI di destinazione del servizio che il client deve contattare. Questo URI utilizza lo schema del resolver dei nomi xds e il formato hostname:port, ad esempio xds:///example.hostname:8080.

Quando il client gRPC senza proxy si connette a Traffic Director, Traffic Director invia le informazioni corrispondenti al servizio nel seguente modo:

  • Traffic Director cerca le regole di forwarding con lo schema di bilanciamento del carico impostato su INTERNAL_SELF_MANAGED per trovare le regole di forwarding la cui porta corrisponde alla porta specificata nell'URI di destinazione.
  • Traffic Director trova il proxy gRPC di destinazione o il proxy HTTP di destinazione per ognuna di queste regole di forwarding.
  • Traffic Director trova le mappe URL a cui fanno riferimento questi proxy gRPC di destinazione o proxy HTTP di destinazione.
  • Traffic Director controlla le regole host nella mappa URL, che è anche nel formato hostname[:port], e cerca una corrispondenza.
  • Quando viene trovata una corrispondenza, Traffic Director restituisce le regole di routing e le informazioni sui servizi al client gRPC.

Se viene trovata più di una corrispondenza, il comportamento non è definito e può generare comportamenti imprevedibili. Ciò si verifica in genere quando sono soddisfatte entrambe le seguenti condizioni:

  • Lo stesso nome host viene utilizzato in più mappe URL.
  • Più regole di forwarding con lo schema di bilanciamento del carico INTERNAL_SELF_MANAGED specificano la stessa porta.

Per questo motivo, ti consigliamo di non riutilizzare lo stesso nome host in più mappe URL a cui fanno riferimento regole di forwarding che specificano la stessa porta.

Passaggi successivi