はじめに
ドキュメント基準コミット
fe36ad62のVERSIONは1.20.0-dev。ローカルで試すなら最新の安定リリースを使う。コマンドは Docker・kubectl・kindを入れた Linux ホストを想定。バージョン整合は Cilium Getting Started で確認すること。
前提
- CNI を入れられる Kubernetes クラスタ。試すだけなら
kindが最速。 - そのクラスタに到達できる設定済みの
kubectl。 PATH上のciliumCLI (cilium-cli)。- Cilium が使う eBPF 機能に足る新しさの Linux カーネル。要件は公式ドキュメントに列挙されている。
インストール
cilium CLI を入れ、それでクラスタに Cilium をインストールする。kind クラスタの場合、Cilium がネットワーキングを担えるようデフォルト CNI 無しで作成する。
kind create cluster --config - <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
disableDefaultCNI: true
EOF
cilium installHelm によるインストールパスもサポートされる。chart の値は公式ドキュメントを参照。
最初の動く構成
現在のクラスタコンテキストに Cilium をインストールする。
bashcilium installコントロールプレーンと datapath の起動を待つ。
bashcilium status --wait組み込みの接続テストを実行する。テスト用ワークロードをデプロイし、pod 間とサービストラフィックを検証する。
bashcilium connectivity test
動作確認
cilium status はエージェント DaemonSet・operator・Hubble の健全性を報告する。正常なインストールではエージェントと operator が OK と表示される。
cilium statuscilium connectivity test は datapath が正しくルーティング・適用できていれば合格サマリで終わる。kubectl -n kube-system get pods -l k8s-app=cilium でエージェント pod の稼働も確認できる。
次に読むもの
kube-proxy 置換、透過暗号化 (WireGuard/IPsec)、ClusterMesh、BGP、Hubble 可観測性といった本番運用は、公式の Cilium ドキュメント を辿ること。カーネル要件、datapath モード、強化策はここでは扱わない。