GKE Dataplane V2 のオブザーバビリティを使用してトラフィックを監視する


このページでは、GKE Dataplane V2 のオブザーバビリティを使用してトラフィックを監視する方法について説明します。GKE Dataplane V2 のオブザーバビリティのメリットと要件の詳細については、GKE Dataplane V2 のオブザーバビリティについてをご覧ください。

GKE Dataplane V2 のオブザーバビリティの使用方法

まず、Google Cloud Managed Service for Prometheus を使用して、GKE Dataplane V2 指標を有効にします。カスタム ダッシュボードを作成して、モニタリングしている指標のいずれかと同様のアラートを設定する場合は、Google Cloud Observability ツール(Cloud Monitoring の Metrics Explorer など)を使用できます。

Prometheus を使用するサードパーティのダッシュボードやツール(Grafana など)を構成することもできます。GKE Dataplane V2 のオブザーバビリティを有効にした GKE クラスタでは、GKE Dataplane V2 のオブザーバビリティ ツールを使用してトラフィックを検査できます。

指標と Service の依存関係を可視化する

Kubernetes のトラフィック指標と Service の依存関係は、以下のように可視化できます。

クラスタとワークロードのオブザーバビリティ指標を表示する

クラスタの GKE Dataplane V2 指標を表示するには、Google Cloud コンソールの Metrics Explorer で次の操作を行います。

  1. [Monitoring] > [Metrics Explorer] ページに移動します。

  2. [クエリ] の [指標] で、[Prometheus Target prometheus/pod_flow_egress_flows_count] または [prometheus/pod_flow_ingress_flows_count/counter] のいずれかを選択します。

  3. (省略可)[ラベル] に基づいて必要なフィルタを選択します。

  4. (省略可)グラフをカスタム ダッシュボードに保存します。

Service の依存関係を可視化する

Hubble UI を使用すると、クラスタにデプロイされた Pod と Service の依存関係を一目で判断できます。外部の宛先への到達を含むトラフィック フローを可視化します。名前空間、Kubernetes ラベルなどでフィルタします。

Hubble UI

トラフィック フローを確認する

Hubble UI を使用して、クラスタで発生しているライブフローを表示することもできます。各ライブフローには、送信元と宛先のサービス、宛先ポート、ポリシー判定、タイムスタンプが表示されます。

GKE Dataplane V2 のオブザーバビリティ ツールを使用してトラフィックを検査する

ネットワーク トラフィックは、GKE Dataplane V2 のオブザーバビリティ ツールを使用してプライベート エンドポイント経由でアクセスすることで、キャプチャして分析できます。エンドポイントは内部 IP アドレスで公開され、Kubernetes クラスタとクラスタが存在する VPC 内からアクセスできます。

ネットワーク トラフィックのメタデータを検査するには、次のコマンドを使用します。

組み込みの hubble-cli プラグインを使用してネットワーク トラフィックを検査する

alias hubble="kubectl exec -it deployment/hubble-relay -c hubble-cli -n gke-managed-dpv2-observability -- hubble"
hubble observe

このコマンドは、クラスタのネットワーク トラフィックを検査します。

組み込みの hubble-cli プラグインを使用して、フォローモードでネットワーク トラフィックを検査する

alias hubble="kubectl exec -it deployment/hubble-relay -c hubble-cli -n gke-managed-dpv2-observability -- hubble"
hubble observe -f

このコマンドは、クラスタのフォローモードでネットワーク トラフィック メタデータを検査します。

組み込みの hubble-cli プラグインを使用して、単一の名前空間でネットワーク トラフィックを検査する

alias hubble="kubectl exec -it deployment/hubble-relay -c hubble-cli -n gke-managed-dpv2-observability -- hubble"
hubble observe -n default

このコマンドは、組み込みの hubble-cli プラグインを使用して、クラスタ内のデフォルトの Namespace のネットワーク トラフィックを検査します。

Hubble Relay を有効にするには、--enable-dataplane-v2-flow-observability フラグを使用します。

トラフィック フローを分析する

Hubble CLI を使用して、Kubernetes の名前空間などでフィルタできるライブ トラフィック フローのダンプを監視します。

ネットワーク検査 CLI

次のステップ