コンテンツにスキップ

Cilium@ネットワーク系

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. Ciliumの仕組み

アーキテクチャ

Ciliumは、Ciliumエージェント、CNIプラグイン、から構成される。


Ciliumエージェント

▼ Ciliumエージェントとは

コンテナ上のプロセスは、コンテナのカーネルに対してシステムコールを実行する。

Ciliumエージェントは、システムコールのイベントが発生した時にeBPFを実行し、Ciliumの処理をフックする。

これにより、Ciliumはシステムコールのテレメトリーを収集できる。


Cilium CNIプラグイン

▼ Cilium CNIプラグインとは

コンテナのネットワークを制御する。

KubernetesのデフォルトのCNIと衝突するため、これを無効化する必要がある。

デフォルトのCNIを無効化すると、kube-proxyがCiliumに置き換わる。

▼ Istioとの連携

Cilium CNIプラグインとistio-proxyコンテナを組み合わせて、トラフィックを制御する。



02. Ciliumサービスメッシュ

Ciliumサービスメッシュの仕組み

Ciliumエージェント上ではEnvoyプロセスが動いている。

マイクロサービス間の通信時には、eBPFではなくEnvoyを使用する。

なお、Ciliumサービスメッシュは前提としてCilium CNIプラグインを必要とする。

そのため、Istioのように、既存のKubernetesのネットワークを残したままサービスメッシュを導入することはできない。