ウェイポイントに関する問題のトラブルシューティング
このガイドでは、ウェイポイントプロキシに名前空間、サービス、またはワークロードを登録したが、期待どおりの動作が見られない場合の対処法について説明します。
トラフィックルーティングまたはセキュリティポリシーに関する問題
curl
ポッドから productpage
サービス経由で reviews
サービスにリクエストを送信する場合
curl
ポッドから reviews
v2
ポッドにリクエストを送信する場合
reviews
サービスへのリクエストは、すべての L7 ポリシーについて reviews-svc-waypoint
によって強制される必要があります。reviews
v2
ポッドへのリクエストは、すべての L7 ポリシーについて reviews-v2-pod-waypoint
によって強制される必要があります。
L7構成が適用されない場合は、まず
istioctl analyze
を実行して、構成に検証上の問題がないか確認してください。サービスまたはポッドに対してL7構成を実装しているウェイポイントを特定します。
ソースがサービスのホスト名またはIPを使用して宛先を呼び出す場合は、
istioctl experimental ztunnel-config service
コマンドを使用して、宛先サービスによってウェイポイントが使用されていることを確認します。前の例に従うと、reviews
サービスはreviews-svc-waypoint
を使用し、default
名前空間の他のすべてのサービスは名前空間waypoint
を使用する必要があります。ソースがポッドのIPを使用して宛先を呼び出す場合は、
istioctl ztunnel-config workload
コマンドを使用して、宛先ポッドによってウェイポイントが使用されていることを確認します。前の例に従うと、reviews
v2
ポッドはreviews-v2-pod-waypoint
を使用し、default
名前空間の他のすべてのポッドはウェイポイントを持たないはずです。これは、デフォルトでウェイポイントはサービス宛のトラフィックのみを処理するためです。ポッドのウェイポイント列の値が正しくない場合は、ポッドに
istio.io/use-waypoint
というラベルが付いており、ラベルの値がワークロードトラフィックを処理できるウェイポイントの名前であることを確認してください。たとえば、reviews
v2
ポッドがサービストラフィックのみを処理できるウェイポイントを使用している場合、そのポッドで使用されているウェイポイントは表示されません。ポッドのistio.io/use-waypoint
ラベルが正しいように見える場合は、ウェイポイントのGatewayリソースにistio.io/waypoint-for
と互換性のある値のラベルが付いていることを確認してください。ポッドの場合、適切な値はall
またはworkload
になります。istioctl proxy-status
コマンドを使用して、ウェイポイントのプロキシステータスを確認します。Envoyのアクセスログ5を有効にし、いくつかのリクエストを送信した後、ウェイポイントプロキシのログを確認します。
十分な情報がない場合は、ウェイポイントプロキシのデバッグログを有効にすることができます。
istioctl proxy-config
コマンドを使用して、ウェイポイントのEnvoy構成を確認します。これは、クラスタ、エンドポイント、リスナー、ルート、シークレットなど、ウェイポイントに関連するすべての情報を表示します。
ウェイポイントプロキシはEnvoyに基づいているため、Envoyのデバッグ方法の詳細については、Envoy構成の詳細セクションを参照してください。