grpc を介して相互に通信する 2 つのサービスを実行しています。
[ Service A ] ------ grpc -----> [ Service B ]
サービス B は、 で通常の k8s イングレスを介して公開されexample.com
ます。これが、サービス A がリクエストを確認したときに B に対処する方法です。
Istio コントロール プレーンをインストールし、サービス B でサイドカー インジェクションを有効にしました。
[ Service A ] ------ grpc -----> [ Istio / Envoy sidecar ]
|
|-> [ Service B ]
ここで、サービス B の異なるバージョン間でトラフィックを分割したいと思います。仮想サービスと宛先ルールを展開しました。どちらも<service_name>.<namespace>
、入力エンドポイント ( example.com
) の代わりに形式を使用してサービス B を参照します。後者は「サービス」につながるためです。 Kiali で「見つかりませんでした」というエラーが表示されます。<service_name>.<namespace>
ただし、フォーマットを使用するとうまくいくようです。
問題は、仮想サービスに含めた加重トラフィック分割ルールが有効にならないことです。これが機能するために、通常の k8s イングレスの代わりにイングレス ゲートウェイが必要かどうか疑問に思っています。そうでない場合、問題をトラブルシューティングするために他に何を参照することをお勧めしますか?
前もって感謝します。