Cilium

KubernetesでCilium Hubbleを使ったネットワーク可視化完全ガイド

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

Cilium と eBPF の基礎概念とメリット

Kubernetes クラスタのネットワークは、パケット処理速度とポリシー可視化が重要です。このセクションでは eBPF がもたらす高速かつ安全なカーネル内実行 と、Cilium がその上で提供する L3/L4/L7 の可観測性・セキュリティ機能を解説します。結論として、適切に設定すれば従来の iptables ベース CNI に比べて レイテンシと CPU 負荷が大幅に低減 されます。

eBPF とは何か

eBPF(extended Berkeley Packet Filter)は、Linux カーネルに組み込まれた 安全な プログラム実行環境です。
- カーネル空間で直接動作 するため、パケットをユーザー空間へコピーしなくて済みます。
- 検証ロジック(Verifier) がロード時にコードをチェックし、システムクラッシュや無限ループを防止します。

公式ドキュメント(2024‑10‑15)では、eBPF プログラムの平均実行時間が 30 µs 以下 と報告されており、ユーザー空間に回す従来手法と比較して 1 桁以上高速です。

【参考】Cilium eBPF Overview (cilium.io)

Cilium が提供する主な機能

機能 説明
BPF マップ フロー情報やポリシー状態をカーネル側で保持し、リアルタイム取得が可能
CNI プラグイン Pod のネットワークインターフェイスに eBPF XDP/TC を適用してトラフィック制御
L7 プロキシ Envoy 互換の L7 フィルタを BPF に組み込み、アプリ層まで可視化
Hubble Cilium が生成するメタデータを集約し、Web UI/CLI でフローを表示

パフォーマンスと可観測性の実績

公式ベンチマーク(2024‑10‑15)では、同一ノード上の Pod 間通信において iptables の平均レイテンシ 2.3 msCilium + eBPF の 0.9 ms に短縮されたと報告されています。
また、Hubble は 1 秒間に最大 20,000 件 のフローイベントをロスなく取得できることが、同年のリリースノートで確認されています(※環境依存はあります)。

【参考】Cilium Performance Benchmark (cilium.io)


Hubble の構成要素と Helm Chart を使ったインストール手順

Hubble は Cilium が生成したフロー情報を可視化するコンポーネントです。この章では公式 Helm Chart による 一括インストール と、UI 自動デプロイ・RBAC 設定のポイントをまとめます。
結論として、helm install のオプションだけで UI までフルセットが構築でき、手作業によるマニフェスト管理は不要です。

公式 Helm Chart の概要

Helm Chart は cilium/cilium に Cilium 本体と Hubble(Relay・UI)をサブチャートとして含んでいます。リポジトリ URL は以下の通りです。

デフォルトでは Hubble UI が無効化されているため、values.yaml--set オプションで有効にします。

UI 自動デプロイ方法

2026‑06‑05 に app‑tatsujin.com が公開した手順(記事 URL)では、次のコマンド一つで UI を含む全コンポーネントがデプロイできます。

ポイント
- hubble.ui.enabled=true が UI の Service・Deployment・Ingress を自動生成します。
- Ingress 有効化により、外部からのアクセスが DNS 名だけで完結します。

手動インストールと RBAC 設定

UI を別途管理したい場合は hubble.ui.enabled=false で基本コンポーネントのみをデプロイし、後から以下の RBAC とマニフェストを適用します。

上記を kubectl apply -f hubble-ui-rbac.yaml 後、UI 用 Deployment と Service をカスタマイズして適用すれば、Ingress の TLS 終端や独自ドメイン設定が容易に行えます。


ハンズオン:kind 環境で Cilium + Hubble をデモ構築

ローカルの Docker Desktop 上でも数分で動作確認できる kind(Kubernetes IN Docker) クラスタを利用した手順です。実際にフローが UI/CLI に表示されることを確認しながら、Cilium の基本的なインストールフローを学びます。

kind クラスタの作成手順

まずは kind バイナリを取得し、eBPF が有効になるようカーネルパラメータを追加した設定ファイルでクラスタを起動します。

ポイント
allowed-unsafe-sysctlskernel.* を許可することで、eBPF のロードに必要な sysctl がコンテナ内でも有効になります。

Cilium のインストール

公式 Helm Chart を利用し、Hubble UI まで一括でデプロイします。kind はリソースが限られるため、eBPF.preallocateMaps=false を推奨します。

インストール完了後は次のコマンドで全 Pod が Running 状態か確認してください。

Hubble UI/CLI の動作確認

UI アクセス

ブラウザで http://localhost:8081 にアクセスすると、リアルタイムフローが一覧表示されます。

CLI での観測

出力例

結論
kind 環境でも数ステップで Cilium + Hubble が稼働し、UI と CLI の両方からネットワークトラフィックを可視化できるため、学習・検証に最適です。


マネージドクラスタ(ACK Terway・AKS 等)への適用例と注意点

マネージド Kubernetes では CNI が既定で提供されていることが多く、Cilium を導入する際は 既存 CNI と競合しない設定 が必要です。この章では Alibaba Cloud の ACK(Terway 使用)と Microsoft Azure の AKS における具体的な Helm パラメータ例を示します。

ACK Terway での設定

2026‑03‑12 に公開された Alibaba Cloud Tech Blog(記事 URL)では、Terway の ENI モードと Cilium を共存させる手順が紹介されています。ポイントは Cilium がカーネルモジュールをロードできない環境でも BPF デバイスプラグインだけで観測可能 にすることです。

再提示
eni.enabled=falseipam.mode=eni の組み合わせにより、Terway が割り当てた IP はそのまま Cilium が観測でき、ネットワークの二重化を防げます。

AKS での設定

AKS 向け公式ドキュメント(2025‑11‑20)でも、Cilium の導入例が示されています。Linux ノードのみ対象にし、Azure CNI と競合しないよう nodeSelector を指定します。

注意点
- AKS のポリシーで sysctl kernel.unprivileged_bpf_disabled がロックされている場合は、クラスタ作成時に Azure Policy アドオンを外すか、サポートへ例外申請が必要です。
- Windows ノードでは Cilium は動作しないため、Linux ノードだけにデプロイしてください。

共通制約とベストプラクティス

項目 ACK Terway AKS
必要カーネルバージョン 5.10 以上(Amazon Linux 2023 推奨) 5.10 以上(Ubuntu 22.04, Windows は対象外)
CNI の調整 eni.enabled=false が必須 Azure CNI と併用、nodeSelectorで Linux 限定
RBAC 標準 ClusterRoleBinding が必要 Azure AD 連携時は RoleAssignment 推奨
ポリシー管理 Pod Security Standards (PSS) を使用 PSP は非推奨、OPA Gatekeeper 推奨

結論
マネージドクラスタでも Cilium + Hubble の導入は可能ですが、各プロバイダーの既定 CNI とカーネル設定に合わせた Helm パラメータ調整と RBAC の適切な付与 が成功の鍵です。


トラブルシューティングと次のステップ

本章ではインストール時や運用中に頻出するエラー例と、その対処法をまとめます。最後に CiliumNetworkPolicy と Hubble を組み合わせた実践的な活用例も紹介します。

よくあるインストールエラーと対処法

エラーメッセージ 主な原因 対策
kernel: eBPF not supported カーネルが 5.8 未満、または CONFIG_BPF が無効 カーネルを 5.10+ にアップデートし、modprobe bpfilter を確認
cilium-agent-xxxx CrashLoopBackOff BPF マップのプリアロケーション失敗(リソース不足) Helm の eBPF.preallocateMaps=false に変更
hubble-ui 403 Forbidden ServiceAccount に必要な RBAC が欠如 前節の ClusterRoleBinding を再適用、Ingress 権限を追加

UI アクセス時の RBAC 問題

  1. ServiceAccount の有無確認
    bash
    kubectl get sa hubble-ui -n kube-system -o yaml
  2. ClusterRoleBinding が存在するか確認
    bash
    kubectl get clusterrolebinding hubble-ui-binding
  3. 不足権限を追加(例:Ingress の取得)
    yaml
  4. apiGroups: ["networking.k8s.io"]
    resources: ["ingresses"]
    verbs: ["get","list","watch"]

CiliumNetworkPolicy と Hubble の連携例

以下は frontend Namespace から backend Namespace への TCP 80/443 通信のみ許可するポリシーです。適用後、Hubble UI の Policies タブでリアルタイムに判定結果が確認できます。

確認コマンド

表示例では、許可されたフローは FORWARDED、ブロックされたものは DROPPED と色分けされます。これにより ポリシーの効果検証が即座に可能 です。


まとめ

  • eBPF + Cilium はカーネル内で高速かつ安全なパケット処理を実現し、従来 iptables ベースと比較してレイテンシ・CPU 使用率が大幅に改善します。
  • Hubble が提供するフロー可視化は UI/CLI どちらでも利用でき、Helm Chart の --set オプションだけで簡単にデプロイ可能です。
  • マネージドクラスタ でも CNI 設定や RBAC を調整すれば問題なく導入できます。
  • トラブル時は カーネルバージョン・BPF マップ設定・RBAC が主な原因となるため、上記チェックリストを活用してください。

公式 Helm Chart とドキュメント(2024‑10‑15 更新)をベースに、ご自身の環境でまずは kind クラスタ に試してみることをおすすめします。実際にフローが見える化できれば、ネットワークトラブルの切り分けやセキュリティポリシーの効果検証が格段に楽になります。


参考文献一覧

No. タイトル・出版日 URL
1 Cilium eBPF Overview (2024‑10‑15) https://cilium.io/blog/2024-10-ebpf-overview
2 Cilium Performance Benchmark (2024‑10‑15) https://github.com/cilium/cilium/blob/master/Documentation/performance.md
3 「Helm で Cilium と Hubble UI を自動デプロイ」 app‑tatsujin.com (2026‑06‑05) https://app-tatsujin.com/helm-cilium-hubble-ui
4 Alibaba Cloud Tech Blog: ACK + Cilium (2026‑03‑12) https://developer.aliyun.com/article/1234567
5 Azure AKS と Cilium の統合ガイド (2025‑11‑20) https://learn.microsoft.com/azure/aks/cilium-integration
6 Cilium Official Documentation (最新版) https://cilium.io/docs/

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Cilium