メイン コンテンツにスキップ

 Subscribe

コンテナー化された環境の複雑さが増し続けるにつれて、Kubernetes クラスター内のネットワークの問題の根本原因を特定することがますます困難になる可能性があります。断続的な障害やパフォーマンスのボトルネックは特にイライラする可能性があり、ネットワーク インフラストラクチャの包括的な可視性を得ることは、多くの場合、困難な作業のように思える場合があります。多くの組織は、これらの課題に取り組み、それらに対処するための効果的な解決策を見つけるのに苦労しています。

これらに対処するために、Azure Kubernetes Service (AKS)-Network Observability の可用性についてお知らせします。この機能により、お客様はコンテナー ネットワーク トラフィックの可視性を強化するための強力な機能が提供されます。リアルタイムの分析情報と包括的なネットワーク メトリックを提供することで、管理者と開発者は、ネットワークの問題を効果的にトラブルシューティングし、コンテナー化されたアプリケーションのパフォーマンスを最適化できます。

このブログ投稿では、AKS のこのエキサイティングな新しいネットワーク監視機能の詳細について詳しく説明します。その機能、ユース ケースについて説明し、この機能の利点について説明します。

AKS のネットワーク可観測性とは

AKS のネットワーク監視機能は、Linux と Windows の両方のホスティング環境で機能する分散監視ソリューションです。このアドオンは、Linux の eBPF、Windows の仮想フィルタリング プラットフォーム (VFP)、ホスト ネットワーク サービス (HNS) を活用してリアルタイムのデータ ポイントを収集することで、ネットワーク インフラストラクチャに関する分析情報を得て、Prometheus と Grafana で使用できるようにします。

Network Observability capability in different Container Network Interface (CNI) dataplanes.

ネットワーク監視データの視覚化

Azure Managed Prometheus と Grafana:

Network Observability-addon enabled on Cluster with Azure Managed Prometheus and Grafana setup

Azure で管理される PrometheusGrafana のアプローチにより、Microsoft Azure は、監視と視覚化のセットアップと管理を簡素化する統合サービスを提供します。Azure Monitor には Prometheus のマネージド インスタンスが用意されており、ネットワーク監視アドオンなど、さまざまなソースからメトリックを収集して格納します。データ視覚化用の一般的なオープンソース プラットフォームである Grafana は、Azure Monitor とシームレスに統合されています。ユーザーは、AKS とネットワーク監視アドオン用に特別に設計された事前構成済みのダッシュボードとテンプレートを利用できます。これらのダッシュボードは、ネットワーク メトリックの包括的なビューを提供し、ユーザーは視覚的に魅力的で直感的な方法でデータを監視および分析できます。

Azure で管理される Prometheus と Grafana のアプローチを使用してネットワークの可観測性を設定するには、ユーザーは Azure のドキュメントに従うことができます。構成したら、Grafana インターフェイスにアクセスして定義済みのダッシュボードを探索したり、特定の要件に合わせてカスタマイズされたカスタム視覚化を作成したりできます。Azure Monitor、Prometheus、Grafana の統合により、ネットワーク監視データを視覚化するプロセスが合理化され、ユーザーは AKS クラスターのネットワーク パフォーマンスに関する貴重な分析情報を簡単に得ることができます。

Bring Your Own (BYO) Prometheus と Grafana:

(管理オーバーヘッドの増加に慣れた上級ユーザー向け)

Network Observability-addon enabled on Cluster with BYO Prometheus and Grafana Setup

または、ユーザーは独自の Prometheus インスタンスと Grafana インスタンスを設定して管理することもできます。このアプローチにより、監視と視覚化スタックの構成とカスタマイズに対する柔軟性と制御が向上します。ユーザーは、Prometheus と Grafana をインフラストラクチャ内の個別のコンポーネントとしてデプロイすることも、AKS クラスターと共に実行されているコンテナー化されたバージョンを使用することもできます。

BYO Prometheus を設定するには、ネットワーク監視アドオンによって公開されるメトリックをスクレイピングするように Prometheus を構成する必要があります。ユーザーはスクレープ構成を定義して、関連するメトリックを収集し、Prometheus の時系列データベースに格納できます。その後、Grafana を Prometheus に接続して、カスタム ダッシュボードと視覚化を作成できます。ユーザーは、独自の Grafana ダッシュボードを設計したり、コミュニティが提供するテンプレートをインポートしたりして、特定の監視ニーズと設定に基づいてネットワーク監視メトリックを視覚化できます。ユーザーは Azure ドキュメント に従って、BYO Prometheus と Grafana を使用してネットワーク監視アドオンを有効にし、視覚化することができます。

BYO Prometheus と Grafana を使用することで、ユーザーは監視と視覚化スタックのデプロイ、構成、カスタマイズを完全に制御できます。このアプローチにより、ネットワーク監視データのより高度でカスタマイズされた視覚化が可能になり、ユーザーは独自の監視要件に合った洞察に満ちたダッシュボードを設計できます。

ユース ケース

顧客シナリオ 1: ネットワーク ポリシーの削除

複数の名前空間を持つ大規模で複雑なクラスターでのネットワーク ポリシーのデバッグは、特に名前空間ごとに多数のネットワーク ポリシーがある場合に困難な作業になる可能性があります。この課題に対処するために、ネットワーク ポリシー アドオンは Linux の eBPF を利用して、ドロップされたパケットに関する重要な情報を収集します。netfilter drop 関数や netfilter nat 関数など、Linux カーネルのさまざまな重要な場所に kprobes をアタッチすることで、ネットワーク ポリシー アドオンはパケットが破棄されているかどうかを効果的に判断します。

破棄されたパケットが検出されると、関連付けられている eBPF プログラムは、ドロップ理由と場所と共に、パケット メタデータを含むイベントを生成します。このイベントは、データを解析して Prometheus メトリックに変換するユーザースペース プログラムによって処理されます。これらのメトリックは、破棄されたパケットに関する貴重な分析情報を提供し、ネットワーク ポリシー構成の問題の識別と解決に役立ちます。

Windows では、VFP と HNS は、アクセス制御リスト (ACL) またはエンドポイント規則のドロップのカウンターを提供します。Microsoft のネットワーク監視機能アドオンは、これらのカウンターをスクレイピングし、データを Prometheus メトリックに変換し、さまざまなプラットフォーム間で一貫性のある包括的な監視を保証します。

このソリューションの機能を説明するために、次の例を考えて、iptable や ACL など、さまざまな理由で破棄されたパケットを示します。

Grafana Dashboard illustrating packet drops along with the reasons.

顧客シナリオ 2: キャッシュがいっぱいになった受信

Azure では、ほぼすべての Linux 仮想マシン (VM) に対して高速ネットワークが既定で有効になっています。高速ネットワークの導入により、各ネットワーク インターフェイスには、パケットを受信するための専用のメモリ領域が割り当てられます。ネットワーク可観測性アドオンは、各インターフェイスの Rx キャッシュの完全な統計情報を調べて Prometheus メトリックに変換することで、このメモリ割り当てを監視する上で重要な役割を果たします。これにより、ユーザーはネットワーク インターフェイスのパフォーマンスに関する貴重な分析情報を得ることができます。

次の図は、VM が最大容量で動作し、回線レートでパケットを受信する特定のシナリオを示しています。このような場合、ユーザーは断続的な待機時間の急増やパケットのドロップが発生する可能性があります。この情報を提供されたグラフと迅速に関連付けることで、"Rx バッファーがいっぱい" メトリックのスパイクが発生すると、ネットワーク インターフェイスの受信バッファーが飽和状態になり、パケットがドロップしたり、処理を待機しているパケットの待機時間が長くなったりする可能性が明らかになります。

Grafana Dashboard illustrating Rx buffer full error.

メリット

ネットワークの可視性の強化: ネットワーク監視機能アドオンを使用すると、ユーザーはネットワーク インフラストラクチャを詳細に把握でき、ネットワーク ポリシー、パケットのドロップ、待機時間の急増、およびその他のパフォーマンス関連の問題に関連する問題を特定してトラブルシューティングできます。

デバッグ機能の向上: eBPF やその他の監視メカニズムを利用することで、アドオンはネットワーク ポリシー構成に関する貴重な分析情報を提供し、効率的なデバッグとトラブルシューティングを可能にします。ユーザーは、正しく構成されていないネットワーク ポリシーをすばやく特定し、迅速に解決できます。

リアルタイムの監視とアラート: ネットワーク監視メトリックを Prometheus メトリックに変換することで、ユーザーはネットワーク パフォーマンスをリアルタイムで監視できます。アラートと通知を設定して異常に事前に対処し、ネットワーク インフラストラクチャの高可用性と最適なパフォーマンスを確保できます。

プラットフォームの互換性: ネットワーク監視アドオンは、Linux や Windows など、さまざまなプラットフォームでシームレスに動作するように設計されています。この互換性により、基になるオペレーティング システムに関係なく、ユーザーはインフラストラクチャ全体で一貫した監視エクスペリエンスをメインできます。

マルチクラスター履歴ビュー: ネットワーク監視アドオンを使用して複数のクラスターを有効にし、それらを同じ Azure マネージド Prametheus と Grafana に接続すると、1 つのウィンドウで時間の経過と共にすべてのクラスターのネットワーク パフォーマンスを視覚化できます。

詳細情報

詳細については、ネットワーク監視アドオンのドキュメントを参照してください。また、Microsoft の Azure YouTube チャネルでデモを視聴することもできます。

  • Explore

     

    Let us know what you think of Azure and what you would like to see in the future.

     

    Provide feedback

  • Build your cloud computing and Azure skills with free courses by Microsoft Learn.

     

    Explore Azure learning


Join the conversation