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のネットワークを残したままサービスメッシュを導入することはできない。