
cilium v1.20.2
eBPFベースのネットワーキング、セキュリティ、および可観測性
.. raw:: html
|cii| |go-report| |clomonitor| |artifacthub| |slack| |go-doc| |rtd| |apache| |bsd| |gpl| |fossa| |gateway-api| |codespaces|
CiliumはeBPFベースのデータプレーンを備えたネットワーキング、可観測性、セキュリティのソリューションです。ネイティブルーティングモードまたはオーバーレイモードのいずれかで複数のクラスタにまたがる機能を備えた、シンプルなフラットなレイヤー3ネットワークを提供します。L7プロトコルを認識し、ネットワークアドレス指定から分離されたIDベースのセキュリティモデルを使用して、L3-L7でネットワークポリシーを適用できます。
Ciliumは、Pod間および外部サービスへのトラフィックに対する分散ロードバランシングを実装し、eBPFの効率的なハッシュテーブルを使用してkube-proxyを完全に置き換えることができ、ほぼ無制限のスケールを可能にします。また、統合されたイングレスおよびエグレスゲートウェイ、帯域幅管理、サービスメッシュなどの高度な機能をサポートし、深いネットワークおよびセキュリティの可視性と監視を提供します。
eBPF_ と呼ばれる新しいLinuxカーネル技術がCiliumの基盤となっています。これは、ネットワークIO、アプリケーションソケット、トレースポイントなど、さまざまな統合ポイントでeBPFバイトコードをLinuxカーネルに動的に挿入し、セキュリティ、ネットワーキング、可視性のロジックを実装することをサポートします。eBPFは非常に効率的で柔軟です。eBPFの詳細については、eBPF.io_ をご覧ください。
.. image:: Documentation/images/cilium-overview.png :alt: Overview of Cilium features for networking, observability, service mesh, and runtime security
.. raw:: html
安定版リリース
Ciliumコミュニティは、直近3つのマイナーCiliumバージョンに対してマイナー安定版リリースを維持しています。それ以前のマイナーリリースの古いCilium安定版はEOLと見なされます。
新しいマイナーリリースへのアップグレードについては、Cilium Upgrade Guide_ を参照してください。
以下に、積極的にメンテナンスされているリリースブランチと、その最新パッチリリース、対応するイメージプルタグ、およびリリースノートを示します:
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
| v1.20 <https://github.com/cilium/cilium/tree/v1.20>__ | 2026-09-15 | quay.io/cilium/cilium:v1.20.2 | Release Notes <https://github.com/cilium/cilium/releases/tag/v1.20.2>__ |
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
| v1.19 <https://github.com/cilium/cilium/tree/v1.19>__ | 2026-09-15 | quay.io/cilium/cilium:v1.19.8 | Release Notes <https://github.com/cilium/cilium/releases/tag/v1.19.8>__ |
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
| v1.18 <https://github.com/cilium/cilium/tree/v1.18>__ | 2026-09-15 | quay.io/cilium/cilium:v1.18.14 | Release Notes <https://github.com/cilium/cilium/releases/tag/v1.18.14>__ |
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
アーキテクチャ
CiliumイメージはAMD64およびAArch64アーキテクチャ向けに配布されています。
ソフトウェア部品表
Ciliumバージョン1.13.0以降、すべてのイメージにソフトウェア部品表(SBOM)が含まれています。SBOMは SPDX_ 形式で生成されます。詳細については Cilium SBOM_ を参照してください。
.. _SPDX: https://spdx.dev/
.. _Cilium SBOM: https://docs.cilium.io/en/latest/configuration/sbom/
開発
開発およびテスト目的で、Ciliumコミュニティは main branch <https://github.com/cilium/cilium/commits/main>_ からビルドされたスナップショット、早期リリース候補(RC)、およびCIコンテナイメージを公開しています。これらのイメージは本番環境での使用を目的としていません。
新しい開発リリースへのアップグレードをテストする場合は、Cilium Upgrade Guide_ の最新の開発ビルドを参照してください。
以下に、テスト用のブランチとそのスナップショットまたはRCリリース、対応するイメージプルタグ、および該当する場合はリリースノートを示します:
+----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+
| main <https://github.com/cilium/cilium/commits/main>__ | daily | quay.io/cilium/cilium-ci:latest | N/A |
+----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+
| v1.21.0-pre.2 <https://github.com/cilium/cilium/commits/v1.21.0-pre.2>__ | 2026-09-09 | quay.io/cilium/cilium:v1.21.0-pre.2 | Release Notes <https://github.com/cilium/cilium/releases/tag/v1.21.0-pre.2>__ |
+----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+
機能概要
.. begin-functionality-overview
CNI (Container Network Interface)
Cilium as a CNI plugin <https://cilium.io/use-cases/cni/>_ は、Kubernetesクラスタ向けの高速でスケーラブルかつ安全なネットワーキングレイヤーを提供します。eBPF上に構築されており、いくつかのデプロイオプションを提供します:
-
オーバーレイネットワーキング: VXLANおよびGeneveをサポートする、すべてのホストにまたがるカプセル化ベースの仮想ネットワーク。ホスト間のIP接続性のみを必要とし、これは通常すでに提供されているため、ほぼすべてのネットワークインフラストラクチャで動作します。
-
ネイティブルーティングモード: Linuxホストの通常のルーティングテーブルを使用します。ネットワークはアプリケーションコンテナのIPアドレスをルーティングできる必要があります。クラウドルーター、ルーティングデーモン、IPv6ネイティブインフラストラクチャと統合します。
-
柔軟なルーティングオプション: Ciliumは、ノードがレイヤー2ドメインを共有する場合のL2ネイバー探索や、レイヤー3境界を越えてルーティングする場合のBGPなど、一般的なトポロジーにおけるルート学習とアドバタイズを自動化できます。
各モードは、運用負担を最小限に抑えつつ、既存のインフラストラクチャとの最大限の相互運用性を実現するように設計されています。
ロードバランシング
Ciliumは、アプリケーションコンテナ間および外部サービスとの間のトラフィックに対する分散ロードバランシングを実装しています。ロードバランシングは効率的なハッシュテーブルを使用してeBPFで実装されており、大規模環境での高いサービス密度と低レイテンシを可能にします。
-
東西ロードバランシング は、ソケットレベル(
connect())でサービス接続を書き換え、パケットごとのNATのオーバーヘッドを回避し、kube-proxyを完全に置き換えます <https://cilium.io/use-cases/kube-proxy/>_。 -
南北ロードバランシング は、高スループットシナリオ向けのXDPと、Direct Server Return (DSR)やMaglevコンシステントハッシュを含む
レイヤー4ロードバランシング <https://cilium.io/use-cases/load-balancer/>_ をサポートします。
クラスタメッシュ
Cilium Cluster Mesh <https://cilium.io/use-cases/cluster-mesh/>_ は、複数のKubernetesクラスタ間で安全でシームレスな接続を可能にします。ハイブリッドまたはマルチクラウド環境を運用するオペレーターにとって、Cluster Meshは一貫したセキュリティと接続性のエクスペリエンスを保証します。
-
グローバルサービスディスカバリ: クラスタ間のワークロードは、あたかもローカルであるかのようにサービスを検出して接続できます。これにより、別のクラスタのバックエンドへの自動フェイルオーバーなどのフォールトトレランスが可能になり、ロギング、認証、データベースなどの共有サービスを環境間で公開できます。
-
統一IDモデル: セキュリティポリシーは、すべてのクラスタにわたってIPアドレスではなくIDに基づいて適用されます。
ネットワークポリシー
Cilium Network Policy <https://cilium.io/use-cases/network-policy/>_ は、L3-L7にわたるID認識型の適用を提供します。一般的なコンテナファイアウォールは、送信元IPアドレスと宛先ポートでフィルタリングすることでワークロードを保護します。この概念では、クラスタ内のどこかでコンテナが起動されるたびに、すべてのサーバー上のファイアウォールを操作する必要があります。
スケールを制限するこの状況を回避するために、Ciliumは同一のセキュリティポリシーを共有するアプリケーションコンテナのグループにセキュリティIDを割り当てます。その後、IDはアプリケーションコンテナから送信されるすべてのネットワークパケットに関連付けられ、受信ノードでIDを検証できるようになります。
-
IDベースのセキュリティ は、脆弱なIPアドレスへの依存を排除します。
-
L3/L4ポリシー は、ラベル、プロトコル、ポートに基づいてトラフィックを制限します。
-
DNSベースのポリシー: FQDNまたはワイルドカードドメイン(例:
api.example.com、*.trusted.com)へのトラフィックを許可または拒否します。これは、サードパーティサービスへのエグレストラフィックを保護するのに特に役立ちます。 -
L7認識ポリシー は、HTTPメソッド、URLパス、gRPC呼び出しなどによるフィルタリングを可能にします:
-
例:
/public/.*へのGETリクエストのみを許可する。 -
X-Token: [0-9]+のようなヘッダーの存在を強制する。
-
CIDRベースのエグレスおよびイングレスポリシーも、外部IPへのアクセスを制御するためにサポートされており、レガシーシステムや規制上の境界との統合に最適です。