Azure Kubernetes Service (AKS) ネットワーク監視の概要 (プレビュー)

Kubernetes は、コンテナー化されたアプリケーションを管理するための強力なツールです。 コンテナー化された環境が複雑になるにつれて、Kubernetes クラスターでのネットワークの問題を特定しトラブルシューティングするのが困難な場合があります。

ネットワーク監視は、正常で高パフォーマンスな Kubernetes クラスターを維持するための重要な要素です。 ネットワーク トラフィックに関するデータを収集し分析することで、クラスターがどのように動作しているかを把握し、障害やパフォーマンス低下を引き起こす前に潜在的な問題を特定できます。

Diagram of Network Observability components.

AKS での Network Observability アドオンの概要

重要

AKS Network Observability は現在プレビューの段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

Networking Observability アドオンは、非 Cilium および Cilium データプレーンでシームレスに動作します。 DevOps と SecOps に対してエンタープライズ レベルの機能を顧客に提供します。 このソリューションは、クラスター ネットワーク管理者、クラスター セキュリティ管理者、DevOps エンジニアが、クラスター内のネットワークの問題を一元的に監視する方法を提供します。

Network Observability アドオンが有効になっている場合、有用なメトリックを Prometheus 形式に収集して変換できます。これは、Grafana で視覚化できます。 このコンテキストで Prometheus と Grafana を使用するには、Azure マネージド PrometheusGrafana 、あるいは、BYO Prometheus と Grafana の 2 つのオプションがあります。

  • Azure マネージド Prometheus と Grafana: このオプションでは、Azure によって提供されるマネージド サービスを使用します。 マネージド サービスが、Prometheus と Grafana のインフラストラクチャとメンテナンスを担うため、ユーザーはメトリックの構成と視覚化に集中できます。 このオプションは、基になるインフラストラクチャを管理したくない場合に便利です。

  • BYO Prometheus と Grafana: あるいは、独自の Prometheus インスタンスと Grafana インスタンスを自分で設定することもできます。 この場合、Prometheus と Grafana の実行に必要なインフラストラクチャのプロビジョニングと管理をユーザーの責任で行います。 Prometheus をインストールして構成し、Network Observability アドオンによって生成されたメトリックをスクレイピングして保存します。 同様に、Grafana を設定して Prometheus に接続し、収集されたデータを視覚化する必要があります。

  • マルチ CNI サポート: Network Observability アドオンは、Azure CNI と Kubenet ネットワーク プラグインの両方をサポートします。

メトリック

Network Observability アドオンは現在、Linux プラットフォームと Windows プラットフォームの両方のノード レベルのメトリックのみをサポートしています。 次の表は、Network Observability アドオンによって生成されるさまざまなメトリックの概要を示しています。

メトリックの名前 説明 ラベル Linux Windows
networkobservability_forward_count 転送されたパケット数の合計 Direction、NodeName、Cluster はい はい
networkobservability_forward_bytes 転送されたバイト数の合計 Direction、NodeName、Cluster はい はい
networkobservability_drop_count 破棄されたパケット数の合計 Reason、Direction、NodeName、Cluster はい はい
networkobservability_drop_bytes 破棄されたバイト数の合計 Reason、Direction、NodeName、Cluster はい はい
networkobservability_tcp_state TCP 状態別の TCP アクティブ ソケット数。 State、NodeName、Cluster はい はい
networkobservability_tcp_connection_remote リモート アドレス別の TCP アクティブ ソケット数。 Address、Port、NodeName、Cluster はい いいえ
networkobservability_tcp_connection_stats VPN 接続統計情報。 (例: 遅延 ACK、TCPKeepAlive、TCPSackFailures) Statistic、NodeName、Cluster はい はい
networkobservability_tcp_flag_counters フラグ別の TCP パケット数。 Flag、NodeName、Cluster はい はい
networkobservability_ip_connection_stats IP 接続統計情報 。 Statistic、NodeName、Cluster はい いいえ
networkobservability_udp_connection_stats UDP 接続統計情報 Statistic、NodeName、Cluster はい いいえ
networkobservability_udp_active_sockets UDP アクティブ ソケット数 NodeName、Cluster はい いいえ
networkobservability_interface_stats インターフェイス統計。 InterfaceName、Statistic、NodeName、Cluster はい はい

制限事項

  • ポッド レベルのメトリックはサポートされていません。

スケール

Azure マネージド Prometheus と Grafana を使用する場合は、いくつかのスケール制限が適用されます。 詳細については、「Azure Monitor で大規模に Prometheus メトリックをスクレイピングする」を参照してください

次の手順