ztunnel の接続に関する問題のトラブルシューティング
このガイドでは、ztunnel プロキシの構成とデータパスを監視するためのいくつかのオプションについて説明します。この情報は、高レベルのトラブルシューティングや、問題がある場合にバグレポートに含めると役立つ情報の特定にも役立ちます。
ztunnel プロキシの状態の表示
ztunnel プロキシは、istiod コントロールプレーンから xDS API を介して構成および検出情報を取得します。
istioctl ztunnel-config
コマンドを使用すると、ztunnel プロキシによって認識された検出済みワークロードを表示できます。
最初の例では、ztunnel が現在追跡しているすべてのワークロードとコントロールプレーンコンポーネントが表示されます。これには、そのコンポーネントに接続する際に使用する IP アドレスとプロトコル、およびそのワークロードに関連付けられたウェイポイントプロキシがあるかどうかの情報が含まれます。
ztunnel-config
コマンドは、ztunnel プロキシが mTLS に使用するために istiod コントロールプレーンから受け取った TLS 証明書を保持するシークレットを表示するために使用できます。
これらのコマンドを使用すると、ztunnel プロキシがすべての予期されるワークロードと TLS 証明書で構成されていることを確認できます。さらに、不足している情報は、ネットワーキングエラーのトラブルシューティングに使用できます。
all
オプションを使用すると、単一の CLI コマンドで ztunnel-config のすべての部分を表示できます。
また、Pod 内のエンドポイントへの curl
を使用して、ztunnel プロキシの生の設定ダンプを表示することもできます。
ztunnel xDS リソースの Istiod 状態の表示
場合によっては、ztunnel プロキシ用に特別に定義された xDS API リソースの形式で、istiod コントロールプレーンで管理されている ztunnel プロキシ設定リソースの状態を表示したい場合があります。これは、以下の例に示すように、istiod Pod に exec し、特定の ztunnel プロキシのポート 15014 からこの情報を取得することで実行できます。この出力は、JSON 整形ユーティリティで保存して表示することもでき、より簡単に閲覧できます (例には示されていません)。
ログによる ztunnel トラフィックの検証
ztunnel のトラフィックログは、標準の Kubernetes ログ機能を使用してクエリできます。
表示されたレスポンスは、クライアント Pod がサービスからレスポンスを受信していることを確認します。これで、ztunnel Pod のログをチェックして、トラフィックが HBONE トンネル経由で送信されたことを確認できます。
これらのログメッセージは、トラフィックが ztunnel プロキシ経由で送信されたことを確認します。よりきめ細かいモニタリングは、トラフィックの送信元と宛先の Pod と同じノードにある特定の ztunnel プロキシインスタンスのログをチェックすることで実行できます。これらのログが表示されない場合は、トラフィックリダイレクト5が正しく機能していない可能性があります。
ztunnel 負荷分散の検証
宛先が複数のエンドポイントを持つサービスの場合、ztunnel プロキシは自動的にクライアント側のロードバランシングを実行します。追加の構成は必要ありません。ロードバランシングアルゴリズムは、L4 接続状態に基づいてトラフィックを分散する内部固定の L4 ラウンドロビンアルゴリズムであり、ユーザーが構成することはできません。
複数のバックエンドを持つサービスを呼び出すことで、クライアントトラフィックがサービスレプリカ全体でバランスされていることを検証できます。
これはラウンドロビンロードバランシングアルゴリズムであり、以前に説明したように、VirtualService
API オブジェクトのすべての側面がウェイポイントプロキシでインスタンス化され、ztunnel プロキシではインスタンス化されないため、VirtualService
の TrafficPolicy
フィールド内で構成されている可能性のあるロードバランシングアルゴリズムとは別であり、独立しています。
アンビエントモードトラフィックの可観測性
上記の ztunnel ログやその他のモニタリングオプションのチェックに加えて、通常の Istio モニタリングおよびテレメトリ機能を使用して、アンビエントデータプレーンモードを使用するアプリケーショントラフィックをモニタリングすることもできます。
サービスが ztunnel によって提供されるセキュアオーバーレイのみを使用している場合、報告される Istio メトリクスは L4 TCP メトリクス (つまり、istio_tcp_sent_bytes_total
、istio_tcp_received_bytes_total
、istio_tcp_connections_opened_total
、istio_tcp_connections_closed_total
) のみになります。ウェイポイントプロキシが使用されている場合は、Istio および Envoy メトリクスのフルセットが報告されます。