Unified Load Balancer 構成およびアドミニストレーション ガイド、リリース 2026.02

PDF

Unified Load Balancer 構成およびアドミニストレーション ガイド、リリース 2026.02

eBPF に基づくデータパスメトリックのサポート

Want to summarize with AI?

Log in

ULB は、デュアル eBPF ベースのメトリック機能をサポートし、異なる構成方法でサービス通信と運用データパスイベントをきめ細かく可視化します。


ULB は、2 つの独立した eBPF ベースのメトリック機能を提供します。サービスのパケットおよびバイトのメトリックは、各サービスとバックエンド Pod のパケット数とバイト数をカウントします。ULB 運用データパスメトリクスでは、インストゥルメント化された受信、セッション開始、フォワーディングパス、および eBPF の障害イベントが、ulb_dp_* メトリックファミリを通じて公開されます。各機能には個別の構成と有効化メソッドがあります。

eBPF に基づくサービスのパケットおよびバイトメトリクス

ULB は、Extended Berkeley Packet Filter(eBPF)テクノロジーを使用して、ULB サービスでデータパスを詳細に可視化します。これは、入力通信と出力通信関連のメトリックを収集し、管理者は、パフォーマンスの問題と障害対応の問題を監視できるようになります。

Note

この機能は、CGROUP(Control Group)v2 をサポートする Ubuntu カーネルバージョンのみをサポートします。


サービスのパケットおよびバイトのメトリックの利点

データパスメトリクスを使用することで、ULB は次のような利点を提供します。

  • デバッグの強化:詳細なデータパスメトリクスを提供し、ネットワーク問題の迅速な特定と解決を容易にします。

  • パフォーマンス監視:通信スループットをリアルタイムで監視できるため、管理者はボトルネックを特定し、パフォーマンスを最適化できます。

  • 可視性の向上:サービスの通信パターンに関する分析情報を提供し、キャパシティプランニングおよびリソース割り当てに役立ちます。


サービスのパケットおよびバイトのメトリックの制限事項

eBPF モニタリングは、オーバーヘッドを引き起こす可能性があるため、システムリソースの使用状況をモニタリングすることが重要です。


サービスのパケットおよびバイトのメトリック収集およびレポーティングの仕組み

この機能は、ロードバランササービス内のネットワーク通信フローを理解するのに役立ちます。

Summary

このプロセスには、ネットワーク通信メトリックを収集し、報告するために連携する複数のアクターとコンポーネントが含まれます。

  • eBPF:通信特性を受動的に監視し、各サービスと Pod のパケットとバイトをカウントします。

  • ULB エージェント:eBPF からカウントを定期的に収集し、メトリックとして使用できるようにします。

これらのメトリックは、デバッグおよびパフォーマンス分析に使用できます。

Workflow

これらの段階では、ロードバランササービス内のデータパスメトリックの収集とレポートについて説明します。

  1. この CLI コマンドを使用して、メトリック収集機能を有効にします。

    metrics service-stats

    有効にすると、モニタリングプログラム(eBPF)が通信特性の観察を開始します。

    機能がアクティブ化され、メトリック収集の準備が整います。

  2. eBPF は通信を観察し、各サービスと Pod のパケットとバイトをカウントします。

    eBPF はバックグラウンドで動作し、パフォーマンスに影響を与えることなくデータを収集します。

    通信メトリックは、サービスおよび Pod ごとに累積されます。

  3. ULB エージェントは、eBPF からカウントを収集し、メトリックとして使用できるようにします。

    メトリックは定期的に収集され、デバッグおよびパフォーマンス分析のためにアクセス可能になります。


eBPF によるサービスのパケットおよびバイトのメトリックの収集を有効にする

手順

  1. グローバル構成モードを開始します。

  2. このコマンドを実行して、データパスメトリックの収集機能を有効にします。

    metrics service-stats 
    Note

    デフォルトでは、この CLI は無効になっています。

  3. 変更を確定します。


eBPF に基づく ULB 運用データパスメトリック

ULB 動作データパスメトリックにより、通信が ULB eBPF データパスでどのように処理されるかを可視化できます。受信した通信が構成済みの ULB サービスに到達しているかどうかを検出し、セッション確立アクティビティを観察し、ULB が選択した転送パスを理解し、eBPF 処理の失敗を特定します。

メトリックは、累積的な観測内容を提供し、現在アクティブなセッションまたはアソシエーションの実際の数を表すものではありません。デフォルトの 300 秒のエクスポータ更新間隔では、新しく記録されたアクティビティがエクスポートされるまでに最大 5 分かかることがあります。統計マップは、16,384 のサービス/インターフェイス エントリをサポートします。

公開されるメトリックファミリは次のとおりです。

  • ulb_dp_rx_total

構成された ULB サービスのパケットが、構成されたノードインターフェイス上の ULB eBPF 処理パスに到達していることを確認します。ulb_dp_rx-total メトリックは、サービスおよびレポートインターフェイスを識別し、通信が外部ピアから到着したか、別の参加ノードから到着したかを示します。

  • ulb_dp_session_total

ulb_dp_session_total 経由で、新しいセッション、接続、フローを識別します。たとえば、新しいアソシエーションに対して処理された SCTP INIT が、このカウンターに加算されます。このメトリックは、開始イベントを報告します。

  • ulb_dp_forward_total

ULB が ulb_dp_forward-total 経由でサービス通信を転送する方法を理解します。管理者は、ローカル バックエンド アプリケーション Pod 、別の参加ノード上のバックエンド、または別のサポートされている転送パスへの転送アクティビティを区別できます。この情報は、通信が、予想される ULB パスに従っているかどうかを確認するのに役立ちます。

  • ulb_dp_ebpf_failures

ulb_dp_ebpf_failures 経由で eBPF データパス処理エラーを特定します。エラーは処理理由によってグループ化されるため、パケット検証、サービスルックアップ、バックエンド解決、転送、またはその他の監視対象の ULB 操作中に問題が発生したかどうかを判断するのに役立ちます。これらのカウンタは、ULB データパスによって検出された障害を報告しますが、バックエンド Pod 内のアプリケーションレベルのエラーは報告しません。


ULB データパスの運用統計を有効または無効にする

クラスター範囲の UlbStats リソースは、運用データパスのカウントを制御します。これらの運用データパスの統計は、デフォルトでは無効になっています。リソースが適用されると、ULB は参加している ULB エージェント Pod に構成を伝播します。構成された eBPF プログラムは、データパス統計を更新し、エクスポータはPrometheus と Grafana の結果のメトリックシリーズを定期的に公開します。

手順

  1. ulb-stats という名前のサポートされているシングルトン UlbStats リソースを構成します。

    apiVersion: lbs.cisco.com/v1alpha1
    kind: UlbStats
    metadata:
      name: ulb-stats
    spec:
      dataPathStats:
        enable: true
    
  2. 機能を無効にするには、spec.dataPathStats.enable を false に設定し、リソースを再度適用します。リソースが [適用済み(Applied)] フェーズを報告することを確認します。

    kubectl get ulbstats ulb-stats
    Note

    既存のメトリック service-stats CLI は、別のサービスのパケットおよびバイトのコレクタを制御するもので、UlbStats を置き換えません。