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

xDS gRPCの使用

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

このQuarkus xDS gRPC統合は、ネイティブITテストの実行において grpc-nettyライブラリに問題があるため、現在ネイティブ実行可能ファイルのビルドをサポートしていません。

プロジェクトの設定

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

pom.xml
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-grpc-xds</artifactId>
</dependency>
build.gradle
implementation("io.quarkus:quarkus-grpc-xds")
これにより、推移的に io.quarkus:quarkus-grpc のエクステンション依存関係が追加されます。

サーバーの設定

ビルド時に固定される設定プロパティ - その他の設定プロパティは実行時にオーバーライド可能です。

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
xDSが設定されている場合、 plain-text は自動的に無効化されます。

クライアント設定

ビルド時に固定される設定プロパティ - その他の設定プロパティは実行時にオーバーライド可能です。

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

xDSターゲットプロパティを使用する場合、ネームリゾルバ、ホスト、ポートは使用しません。

クライアント設定例

クライアント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
xDSが設定されている場合、 plain-text は自動的に無効化されます。

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}

関連コンテンツ