Citrix ADC

Configuración integral de GRPC

La configuración integral de GRPC funciona enviando una solicitud de GRPC desde un cliente a través del protocolo HTTP/2 y reenviando de nuevo los mensajes de GRPC respondidos por el servidor de GRPC.

Cómo funciona la configuración integral de GRPC

En el siguiente diagrama se muestra una configuración de GRPC funciona en un dispositivo Citrix ADC.

Diagrama funcional de configuración de GRPC

  1. Para implementar la configuración de GRPC, primero debe habilitar HTTP/2 en el perfil HTTP y también habilitar la compatibilidad con HTTP/2 globalmente en el lado del servidor.
  2. Cuando un cliente envía una solicitud de GRPC, el servidor virtual de equilibrio de carga evalúa el tráfico de GRPC mediante directivas.
  3. Basado en la evaluación de directivas, el servidor virtual de equilibrio de carga (con el servicio GrPC vinculado a él) finaliza la solicitud y la reenvía como una solicitud GRPC al servidor GRPC back-end.
  4. Del mismo modo, cuando el servidor de GRPC responde al cliente, el dispositivo finaliza la respuesta y la reenvía como una respuesta de GRPC al cliente.

Ejemplo de solicitud de GRPC enviada al servidor de GRPC

El encabezado de solicitud se envía como encabezados HTTP/2 en ENCABEZADERS+CONTINUACIÓN Frames.

```
HEADERS (flags = END_HEADERS)
: method = POST
: scheme = http
: path = /helloworld.citrix-adc/SayHello
: authority = 10.10.10.10.:80
grpc-timeout = 15
content-type = application/grpc+proto
grpc-encoding = gzip
DATA (flags = END_STREAM)
<Length-Prefixed Message>
<!--NeedCopy--> ```

Ejemplo de encabezado de respuesta de GRPC del servidor GRPC al dispositivo Citrix ADC

Solo cabeceras de respuesta y remolques se entregan en un único bloque de tramas HTTP/2 HEADERS. Se espera que la mayoría de las respuestas tengan encabezados y tráilers, pero solo Trailers está permitido para llamadas que produzcan un error inmediato. El estado debe enviarse en Trailers incluso si el código de estado HTTP es correcto.

```
HEADERS (flags = END_HEADERS)
: status = 200
Grpc-encoding= gzip
Content-type = application/grpc+proto
DATA
<Length-Prefixed Message>
HEADERS (flags = END_STREAM, END_HEADERS)
grpc-status = 0 # OK

<!--NeedCopy--> ```

Configurar GRPC mediante la CLI

Para configurar una implementación integral de GRPC, debe completar lo siguiente:

  • Agregar perfil HTTP con HTTP/2 y HTTP/2 directo habilitados.
  • Habilitar el soporte global de back-end HTTP/2 en el parámetro HTTP
  • Agregar servidor virtual de equilibrio de carga de tipo SSL/HTTP y establecer el perfil HTTP
  • Agregar servicio para endpoint de GRPC y establecer el perfil HTTP
  • Enlazar el servicio de punto final de GRPC al servidor virtual de equilibrio de carga

Agregar perfil HTTP con HTTP/2 y HTTP/2 habilitados directamente

Debe habilitar los parámetros directos HTTP/2 y HTTP/2 en el perfil HTTP. Además, debe habilitar el parámetro HTTP/2 direct si se requiere GRPC sobre HTTP/2.

En el símbolo del sistema, escriba:

add ns httpProfile <name> - http2 ( ENABLED | DISABLED ) [-http2Direct ( ENABLED | DISABLED )]

Ejemplo:

add ns httpProfile http2gRPC -http2Direct ENABLED -http2 ENABLED

Habilitar el soporte global HTTP/2 de back-end a través del parámetro HTTP

Para habilitar el soporte HTTP/2 globalmente en el servidor mediante la línea de comandos de Citrix ADC.

En el símbolo del sistema, escriba:

set ns httpParam -http2ServerSide( ON | OFF )

Ejemplo:

set ns httpParam -http2ServerSide ON

Agregar servidor virtual de equilibrio de carga de tipo SSL/HTTP y establecer el perfil HTTP

Para agregar un servidor virtual de equilibrio de carga mediante la interfaz de comandos de Citrix ADC :

En el símbolo del sistema, escriba:

add lb vserver <name> <service type> [(<IP address>@ <port>)] [-httpProfileName <string>]

Ejemplo:

add lb vserver lb-grpc HTTP 10.10.10.11 80 -httpProfileName http2gRPC

Nota:

Si utiliza un servidor virtual de equilibrio de carga de tipo SSL, debe enlazar el certificado del servidor. Consulte el tema Enlazar certificado de servidor para obtener más información.

Agregar servicio para endpoint de GRPC y establecer el perfil HTTP

Para agregar un servicio GRPC con perfil HTTP mediante la interfaz de comandos de Citrix ADC : En el símbolo del sistema, escriba:

add service <name> (<IP> | <serverName> ) <serviceType> <port> [-httpProfileName <string>]

Ejemplo: add service svc-grpc 10.10.10.10 HTTP 80 -httpProfileName http2gRPC

Enlazar el servicio de punto final de GRPC al servidor virtual de equilibrio de carga

Para enlazar un servicio GRPC al servidor virtual de equilibrio de carga mediante la interfaz de comandos de Citrix ADC :

En la interfaz de comandos, escriba:

bind lb vserver <name> <serviceName>

Ejemplo:

bind lb vserver lb-grpc svc-grpc

Configurar la implementación integral de GRPC mediante la interfaz gráfica de usuario

Complete los siguientes pasos para configurar GRPC mediante la GUI.

Agregar perfil HTTP con HTTP/2 y HTTP/2 habilitados directamente

  1. Vaya a Sistema > Perfiles y haga clic en Perfiles HTTP.
  2. Habilitar la opción HTTP/2 en un nuevo perfil HTTP o un perfil HTTP existente

Diagrama funcional de configuración integral de GRPC

Habilitar el soporte global de back-end HTTP/2 en el parámetro HTTP

  1. Vaya a Sistema > Configuración > Parámetros HTTP.
  2. En la página Configurar parámetros HTTP, seleccione HTTP/2 en el lado del servidor.
  3. Haga clic en Aceptar.

La configuración integral de GRPC permite back-end global http2

Agregar servidor virtual de equilibrio de carga de tipo SSL/HTTP y establecer el perfil HTTP

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
  2. Haga clic en Agregar para crear un servidor virtual de equilibrio de carga para el tráfico de GRPC.
  3. En la página Servidor virtual de equilibrio de carga, haga clic en Perfiles.
  4. En la sección Perfiles, seleccione el tipo de perfil como HTTP.
  5. Haga clic en Aceptar y, a continuación, Listo.

La configuración de GRPC agrega el endpoint de servicio GRPC

Agregar servicio para endpoint de GRPC y establecer el perfil HTTP

  1. Vaya a Administración de Tráfico > Equilibrio de carga > Servicios.
  2. Haga clic en Agregar para crear un servidor de aplicaciones para el tráfico de GRPC.
  3. En la página Servicio de Equilibrio de carga, vaya a la sección Perfil.
  4. En Perfiles, agregue perfil HTTP para el extremo de GRPC.
  5. Haga clic en Aceptar y, a continuación, Listo.

Servidor virtual de equilibrio de carga de servicio de enlace de configuración de gRPC

Para obtener procedimientos de GUI detallados relacionados con el equilibrio de carga, consulte el tema Equilibrio de carga.