動かざることバグの如し

近づきたいよ 君の理想に

MetalLB v0.13以降はConfigmapでの設定ができない

環境

インストール

kubeadmでKubernetesインストールしてLoadBalancer使いたいからMetalLBもインストールするぞい

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

IPアドレスプールの設定するぞい

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 192.168.16.30-192.168.16.60

が、エラーで設定できない。。。。

while this alleviatated the Error: INSTALLATION FAILED: execution error at (metallb/templates/deprecated_configInline.yaml:2:4): Starting from v0.13.0 configInline is no longer supported. Please see https://metallb.universe.tf/#backward-compatibility, osm installation was not fully successful.

原因

MetalLB v0.13以降はConfigMapでの設定が廃止されてCRDで設定が推奨になったため

github.com

どうするの

以下のYAMLに書き換える必要がある

---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: default
  namespace: metallb-system
spec:
  addresses:
  - 192.168.16.30-192.168.16.60
  autoAssign: true
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: default
  namespace: metallb-system
spec:
  ipAddressPools:
  - default

参考リンク