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

Usando o xDS gRPC

Esta página explica como habilitar o uso do gRPC xDS em sua aplicação Quarkus.

This Quarkus xDS gRPC integration currently doesn’t support building native executables due to the issues with shaded grpc-netty library while running native IT tests.

Configurando seu projeto

Adicione a extensão Quarkus gRPC xDS ao arquivo de compilação do seu projeto:

pom.xml
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-grpc-xds</artifactId>
</dependency>
build.gradle
implementation("io.quarkus:quarkus-grpc-xds")
Isso adiciona de forma transitiva a dependência da extensão io.quarkus:quarkus-grpc.

Configurando servidor

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

Configuration property

Tipo

Padrão

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

Exemplo de configuração do servidor

Para habilitar o servidor xDS, utilize a seguinte configuração:

xDS must be explicitly enabled on the server, then verify you use it on the right xDS server port (default is 9000). If you want to use XdsServerCredentials set xds.secure to true.

quarkus.grpc.server.xds.enabled=true
#quarkus.grpc.server.xds.secure=true
quarkus.grpc.server.port=30051
Quando o xDS está configurado, o modo "plain-text" é automaticamente desabilitado.

Configurando cliente

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

Configuration property

Tipo

Padrão

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

Quando a propriedade de destino do xDS é utilizada, o resolvedor de nomes, host e porta não são utilizados.

Exemplo de configuração do cliente

Para ativar o xDS do cliente, utilize a seguinte configuração:

You can either explicitly enable xDS or you use xds name resolver, and make sure you point it to the right xDS server port (default is 9000). If you want to use XdsChannelCredentials set xds.secure to 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
Quando o xDS está configurado, o modo "plain-text" é automaticamente desabilitado.

Exemplo de configuração do Kubernetes

Abaixo está um exemplo de configuração adicional (obrigatória) ao usar xDS gRPC com o Istio Service Mesh no 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}

Conteúdo Relacionado