Using xDS gRPC
此页面阐述了如何在 Quarkus 应用程序中启用 xDS gRPC 使用。
由于运行原生 IT 测试时,经过 shaded 的 grpc-netty 库有问题,因此,该 Quarkus xDS gRPC 集成目前不支持构建原生执行文件。
Configuring your project
将 Quarkus gRPC xDS 扩展添加到您的构建文件中:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-grpc-xds</artifactId>
</dependency>
implementation("io.quarkus:quarkus-grpc-xds")
这会传递添加 |
Server configuration
Unresolved include directive in modules/ROOT/pages/grpc-xds.adoc - include::../../../target/quarkus-generated-doc/config/quarkus-grpc_quarkus.grpc.server.xds.adoc[]
Server configuration example
若要启用服务器 xDS,请使用以下配置。
必须在服务器上显式启用 xDS,然后验证你在正确的 xDS 服务器端口(默认值为 9000)上使用它。如果你想使用 XdsServerCredentials`将 `xds.secure`设置为 `true
。
quarkus.grpc.server.xds.enabled=true
#quarkus.grpc.server.xds.secure=true
quarkus.grpc.server.port=30051
配置 xDS 时,`plain-text`会被自动禁用。 |
Client configuration
Unresolved include directive in modules/ROOT/pages/grpc-xds.adoc - include::../../../target/quarkus-generated-doc/config/quarkus-grpc_quarkus.grpc.clients.-client-name-.xds.adoc[]
当使用 xDS 目标属性时,名称解析器、主机和端口未使用 |
Client configuration example
若要启用客户端 xDS,请使用以下配置。
你可以显式启用 xDS,也可以使用 xds`名称解析器,并确保将其指向正确的 xDS 服务器端口(默认值为 9000)。如果你想使用 `XdsChannelCredentials`将 `xds.secure`设置为 `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
配置 xDS 时,`plain-text`会被自动禁用。 |
Kubernetes configuration example
以下是使用 Kubernetes 中的 Istio 服务网格与 xDS gRPC 时,(所需)附加配置的一个示例。
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}