このページを編集

Using xDS gRPC

このページでは、QuarkusアプリケーションでxDS gRPCの利用を有効にする方法について説明します。

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.

プロジェクトの設定

Quarkus gRPC xDSエクステンションをビルドファイルに追加します:

pom.xml
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-grpc-xds</artifactId>
</dependency>
build.gradle
implementation("io.quarkus:quarkus-grpc-xds")
This transitively adds io.quarkus:quarkus-grpc extension dependency.

サーバーの設定

ビルド時に固定される設定プロパティ - それ以外の設定プロパティは実行時に上書き可能

Configuration property

タイプ

デフォルト

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

サーバー設定例

サーバーxDSを有効にするには、次の設定を使用します。

xDSはサーバー上で明示的に有効にする必要があり、その後、正しいxDSサーバーポート(デフォルトは9000)でそれを使用することを確認します。もし、 XdsServerCredentials を使用したい場合は、 xds.securetrue にセットしてください。

quarkus.grpc.server.xds.enabled=true
#quarkus.grpc.server.xds.secure=true
quarkus.grpc.server.port=30051
When xDS is configured, plain-text is automatically disabled.

クライアント設定

ビルド時に固定される設定プロパティ - それ以外の設定プロパティは実行時に上書き可能

Configuration property

タイプ

デフォルト

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

When xDS target property is used, name resolver, host, and port are not used

クライアント設定例

クライアントxDSを有効にするには、次の設定を使用します。

xDSを明示的に有効にするか、 xds ネームリゾルバを使用し、正しいxDSサーバーポート(デフォルトは9000)を指定することを確認してください。もし、 XdsChannelCredentials を使用したい場合は、 xds.securetrue にセットしてください。

#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
When xDS is configured, plain-text is automatically disabled.

Kubernetes設定例

以下は、KubernetesのIstio Service Meshで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}

関連コンテンツ