すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ACK Terway と Cilium Hubble を使用したネットワーク可観測性の実装

最終更新日:Mar 03, 2026

Terway ネットワークプラグインを使用する Container Service for Kubernetes (ACK) クラスターに Cilium Hubble をデプロイし、コンテナーネットワークトラフィックの可視化を実現します。Cilium Hubble は、クラスター全体におけるパケットの送信元・宛先、Pod およびサービスのトポロジー、ネットワークポリシーの適用状況、フロー単位のメトリックを表示します。

前提条件

作業を開始する前に、以下の要件を満たしていることを確認してください。

  • ACK マネージドクラスター が次のネットワーク設定で構成されていること:

    • ネットワークプラグイン: Terway

    • Terway モード: IPvlan(IPVLAN ベースのマルチ Pod 共有 ENI モード)

重要

Cilium Hubble は、Terway の「マルチ Pod 共有 ENI モード」のみをサポートします。クラスターが別の Terway モードを使用している場合、Cilium Hubble を有効化できません。ACK クラスターを作成する際は、ネットワークプラグイン パラメーターに Terway を、Terway モード パラメーターに IPvlan を選択してください。

制限事項

  • レイヤー 7 メトリックの非対応: HTTP および DNS メトリックはサポートされていません。利用可能なのはレイヤー 3/4 メトリック(drop、tcp、flow、port-distribution、icmp)のみです。

  • 過剰なメトリックによるパフォーマンスへの影響: cilium_hubble_metrics パラメーターに多数のメトリックを指定すると、Cilium Hubble のパフォーマンスが低下する可能性があります。

  • アーキテクチャー: ack-terway-hubble Helm チャートは amd64 アーキテクチャーのみをサポートします。

Terway ConfigMap での Cilium Hubble 有効化

kube-system 名前空間の eni-config ConfigMap 内の 10-terway.conf セクションにパラメーターを追加して、Cilium Hubble を有効化します。

10-terway.conf に以下のパラメーターを追加します。

"cilium_enable_hubble":"true",
"cilium_hubble_listen_address":":4244",
"cilium_hubble_metrics_server":":9091",
"cilium_hubble_metrics":"drop,tcp,flow,port-distribution,icmp",

ConfigMap パラメーター

パラメーター

説明

備考

eniip_virtual_type

IPVLAN モードを有効化するかどうかを指定します。

このパラメーターが存在しない、または IPVLAN に設定されていない場合、クラスターは Cilium Hubble をサポートしません。

cilium_enable_hubble

ネットワークトラフィック分析のために Cilium Hubble を有効化します。

この例では、このパラメーターは "true" に設定されています。

cilium_hubble_listen_address

Cilium Hubble サービスを公開するポートを指定します。

この例では、このパラメーターは ":4244" に設定されています。

cilium_hubble_metrics_server

Cilium Hubble メトリックサーバーを公開するポートを指定します。

この例では、このパラメーターは ":9091" に設定されています。

cilium_hubble_metrics

収集するメトリックを指定します。複数のメトリックはカンマ (,) で区切ります。

この例では、このパラメーターは "drop,tcp,flow,port-distribution,icmp" に設定されています。

コンソール

  1. Container Service 管理コンソール にログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

  2. クラスターリスト ページで、ご利用のクラスター名をクリックします。左側のナビゲーションウィンドウで、設定 > ConfigMap をクリックします。

  3. ConfigMap ページの上部にある 名前空間 ドロップダウンリストから kube-system を選択し、eni-config ConfigMap を見つけ、操作 列の YAML の編集 をクリックします。

  4. YAML で表示 パネルで 10-terway.conf を見つけ、上記のパラメーターを追加して、OK をクリックします。

kubectl

以下のコマンドを実行して ConfigMap を編集します。

kubectl -n kube-system edit configmap eni-config

10-terway.conf に上記のパラメーターを追加し、ConfigMap を保存します。

Terway Pod の再起動

変更した ConfigMap を反映させるため、Terway Pod を再起動します。

ACK コンソール:

  1. クラスター詳細ページの左側ナビゲーションウィンドウで、ワークロード > Pod を選択します。

  2. Pod ページの上部にある 名前空間 ドロップダウンリストから kube-system を選択し、検索ボックスに terway-eniip と入力します。各 terway-eniip-xxx Pod の 操作 列で、その他 > 削除 を選択します。

  3. 表示されるメッセージで、OK をクリックします。

  4. 上記の手順を繰り返して、すべての Terway Pod を削除します。

kubectl:

kubectl rollout restart daemonset -n kube-system terway-eniip

再起動の確認

Pod の再起動後、すべての Terway Pod が Running 状態であることを確認します。

kubectl -n kube-system get pods -l app=terway-eniip

すべての Pod の STATUS が Running となり、すべてのコンテナーが準備完了状態である必要があります。

Cilium Hubble のインストール

  1. Container Service 管理コンソール にログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

  2. クラスターリスト ページで、ご利用のクラスター名をクリックします。左側のナビゲーションウィンドウで、アプリケーション > Helm をクリックします。

  3. Helm ページで、デプロイ をクリックし、基本情報 パラメーターを設定します。

  4. ack-terway-hubble カードを選択し、次へ をクリックします。

  5. パラメーター ステップで、チャートバージョン パラメーターを設定します。パラメーター セクションで、Hubble UI へのアクセスを有効にするための Ingress パラメーターを指定します。その他のパラメーターはビジネス要件に応じて設定し、OK をクリックします。

Ingress パラメーター

Hubble UI へのアクセスを有効にするには、ingress 配下に以下のパラメーターを設定します。

パラメーター

説明

enabled

Hubble UI へのアクセスに Ingress を使用するかどうかを指定します。

annotations

Ingress のアノテーション。

path

Ingress のルートパスを指定します。

hosts

Ingress のホストを指定します。Hubble UI へのアクセスに使用されます。

tls

Ingress のトランスポート層セキュリティ (TLS) 設定を指定します。

Hubble UI へのアクセス

Ingress に hosts パラメーターを指定した場合、Ingress ホストのポート 80 にアクセスして Hubble UI を開きます。

権威ある解決が行われないドメイン名(例:ingress.local)を使用する場合は、kubectl -n kube-system get svc nginx-ingress-lb コマンドを実行して Ingress コントローラーの外部 IP アドレスを取得し、ローカルの hosts ファイルに、取得した IP アドレスに対応するドメイン名のエントリーを追加します。

Hubble UI の機能

Hubble UI は以下のビューを提供します。

  • 上部セクション: 各名前空間の Pod およびサービスのトポロジー。ドロップダウンリストから名前空間を選択すると、そのトポロジーが表示されます。

  • 下部セクション: 送信元、宛先、ポート、転送状態を含むネットワークトラフィックの詳細情報。

  • ネットワークポリシーの適用状況: ネットワークポリシーの不一致によりドロップされたパケットがハイライト表示され、誤ったポリシー設定の特定を支援します。

Network observability dashboard showing pod interactions and traffic metricsCilium Hubble UI によるネットワーク可観測性の可視化

メトリックの収集と可視化

Cilium Hubble は、kube-system 名前空間内の hubble-metrics サービスを通じてネットワークフローメトリックを公開します。公開するメトリックは、eni-config ConfigMap の cilium_hubble_metrics パラメーターで制御します。

これらのメトリックは、以下のいずれかの方法で収集できます。

利用可能なメトリック

以下の表に、Cilium Hubble が公開可能なメトリックを示します。メトリックの詳細な定義については、Cilium ドキュメントの Exported Metrics をご参照ください。

カテゴリ

メトリック

ラベル

説明

drop

hubble_drop_total

reason、protocol

ドロップされたパケット数

tcp

hubble_tcp_flags_total

flag、family

TCP フラグの数

flow

hubble_flows_processed_total

type、subtype、verdict

処理されたネットワークフロー数

port-distribution

hubble_port_distribution_total

protocol、port

宛先ポートごとのパケット分布

icmp

hubble_icmp_total

family、type

インターネット制御通知プロトコル (ICMP) メッセージ数