The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

Uso de xDS gRPC

Esta página explica cómo habilitar el uso de xDS gRPC en su aplicación Quarkus.

Esta integración Quarkus xDS gRPC actualmente no admite la construcción de ejecutables nativos debido a los problemas con la biblioteca grpc-netty sombreado durante la ejecución de pruebas nativas de TI.

Configurar el proyecto

Añada la extensión Quarkus gRPC xDS a su archivo de construcción:

pom.xml
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-grpc-xds</artifactId>
</dependency>
build.gradle
implementation("io.quarkus:quarkus-grpc-xds")
Esto añade transitoriamente la dependencia de la extensión io.quarkus:quarkus-grpc.

Configuración del servidor

Configuration property fixed at build time - All other configuration properties are overridable at runtime

Configuration property

Type

Default

Explicitly enable use of XDS.

Environment variable: QUARKUS_GRPC_SERVER_XDS_ENABLED

Show more

boolean

false

Use secure credentials.

Environment variable: QUARKUS_GRPC_SERVER_XDS_SECURE

Show more

boolean

false

Ejemplo de configuración del servidor

Para activar el servidor xDS, utilice la siguiente configuración.

xDS debe estar explícitamente habilitado en el servidor, luego verifique que lo usa en el puerto correcto del servidor xDS (por defecto es 9000). Si desea utilizar XdsServerCredentials ajuste xds.secure a true.

quarkus.grpc.server.xds.enabled=true
#quarkus.grpc.server.xds.secure=true
quarkus.grpc.server.port=30051
Cuando se configura xDS, plain-text se desactiva automáticamente.

Configuración del cliente

Configuration property fixed at build time - All other configuration properties are overridable at runtime

Configuration property

Type

Default

Explicitly enable use of XDS.

Environment variable: QUARKUS_GRPC_CLIENTS__CLIENT_NAME__XDS_ENABLED

Show more

boolean

false

Use secure credentials.

Environment variable: QUARKUS_GRPC_CLIENTS__CLIENT_NAME__XDS_SECURE

Show more

boolean

false

Optional explicit target.

Environment variable: QUARKUS_GRPC_CLIENTS__CLIENT_NAME__XDS_TARGET

Show more

string

Cuando se utiliza la propiedad de destino xDS, no se utilizan los datos de resolución de nombres, host y puerto

Ejemplo de configuración de cliente

Para activar xDS de cliente, utilice la siguiente configuración.

Puede habilitar xDS explícitamente o utilizar xds name resolver, y asegúrese de apuntarlo al puerto correcto del servidor xDS (por defecto es 9000). Si desea utilizar XdsChannelCredentials ajuste xds.secure a true.

#quarkus.grpc.clients.<client-name>.xds.enabled=true
#quarkus.grpc.clients.<client-name>.xds.secure=true
quarkus.grpc.clients.<client-name>.name-resolver=xds
quarkus.grpc.clients.<client-name>.port=30051
Cuando se configura xDS, plain-text se desactiva automáticamente.

Ejemplo de configuración de Kubernetes

A continuación se muestra un ejemplo de configuración adicional (necesaria) cuando se utiliza xDS gRPC con Istio Service Mesh en Kubernetes.

quarkus.kubernetes.ports.grpc.container-port=30051
quarkus.kubernetes.annotations."inject.istio.io/templates"=grpc-agent
quarkus.kubernetes.annotations."proxy.istio.io/config"={"holdApplicationUntilProxyStarts": true}

Related content