🔖

おうちK8s上でCiliumを使いたい時はMetalLBよりもcilium ipamのほうが楽

2024/11/15に公開

わざわざMetalLBを入れなくても、Cilium自体にMetalLBの機能が内包されているので、
新しくnamespaceを作ってインストールしなくてもCiliumだけで完結できる。

やり方としては、MetalLBと同じくIPアドレスのプールを作れば、自動で割り振ってくれる。

公式ドキュメントより引用

apiVersion: "cilium.io/v2alpha1"
kind: CiliumLoadBalancerIPPool
metadata:
  name: "blue-pool"
spec:
  blocks:
  - cidr: "10.0.10.0/24"
  - cidr: "2004::0/64"
  - start: "20.0.20.100"
    stop: "20.0.20.200"
  - start: "1.2.3.4"

こんな感じで、サブネット単位で指定したりできる
一般の家庭の場合サーバー用にわざわざサブネットを作ってないと思うので、
192.168.1.0/24のサブネットだとしたら、170~255をPoolにしたいなーみたいな要望が出ると思う。
その場合は、こう書く。

apiVersion: "cilium.io/v2alpha1"
kind: CiliumLoadBalancerIPPool
metadata:
  name: "ip-pool"
spec:
  blocks:
  - start: "192.168.1.170"
    stop: "192.168.1.255"

metadataのnameはなんでもよい。ルーターの名前にしたりするとわかりやすいのではないだろうか。
このマニフェストをapplyするだけでよい。MetalLBの時よりすっきりしていて、いいと思う。

Discussion