最新のMetallb 0.13.3を導入してみた

投稿者: | 7月 8, 2022

Metallbが新しくなったので、Metallb 0.13.2を入れてみた。がしかし、このブログを書こうとしたら、0.13.3になっていた。なぬー。まぁ、Metallbのバージョンが幾つになっていようが自分の周りでは話題にならないので、どうでもいいかw。

さて、Metallbの構築方法なんて、そこらへんにゴマンとあるが、このバージョンからConfigmapではなく、CRDで設定ができるようになった。Configmapも後方互換性で使える様になっているらしいが、containerdのようにいつ梯子を外されるかわからないので、新規に作るなら新しい方法で作っておいた方が無難だと思う。コンテナで塩漬けにしておくとほんとロクなことがない。まだ大量にいるバージョンガーや実績ガーの人たちにはこういうのは向かないと改めて思った。

閑話休題

インストール方法は以下。0.12.1のときに比べてあっさりしている。

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.3/config/manifests/metallb-native.yaml

リソースは以下のものが作成される。

kubectl get crd |grep metallb.io
bfdprofiles.metallb.io 2022-07-07T15:21:12Z
bgpadvertisements.metallb.io 2022-07-07T15:21:12Z
communities.metallb.io 2022-07-07T15:21:12Z
ipaddresspools.metallb.io 2022-07-07T15:21:12Z
l2advertisements.metallb.io 2022-07-07T15:21:12Z
addresspools.metallb.io 2022-07-07T15:21:12Z
bgppeers.metallb.io 2022-07-07T15:21:12Z

IPレンジの設定は以下のように行う。Configmapじゃないので設定しやすい。手順としては、IPアドレスのプールを定義して、L2のL2Advertisementに紐づけてあげる。

cat <<EOF | kubectl create -n metallb-system -f -
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: first-pool
namespace: metallb-system
spec:
addresses:
- 192.168.10.10-192.168.10.20
EOF
cat <<EOF | kubectl create -n metallb-system -f -
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: example
EOF

これで終わり。Vanilla KubernetesでもK3Sでも動作した。EdgerouterのBGP連携はまた後で。

コメントを残す