LoginSignup
1
0

【解決済み】KubernetesにMetalLBをインストールしたが「ensure CRDs are installed first」のエラーが出てIPAddressPoolのリソースを作成できない

Posted at

はじめに

おうちKubernetesの設定をしている時、本エラーにハマったので共有のために記事を残しておきます。

環境

Kubectl Version: v1.28.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Kubernetes Version: v1.28.7
CNI: Calico

作業手順

Kustomizeを利用したMetal LBのインストール手順に従って、以下のKustomizationファイルを作成した。

kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: metallb-system

resources:
  - github.com/metallb/metallb/config/native?ref=v0.14.3
  - ipaddresspool.yaml
ipaddresspool.yaml
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: default
  namespace: metallb-system
spec:
  addresses:
  - 192.168.11.200-192.168.11.250

このKustomizationファイルをkustomize apply -k ./metallbで適用しようと試みたが、MetalLB公式のマニフェストのリソースが全てCreatedになった後、IPAddressPoolのリソースだけが

error: resource mapping not found for name: "default" namespace: "metallb-system" from "./metallb/ipaddresspool.yaml": no matches for kind "IPAddressPool" in version "metallb.io/v1beta1"
ensure CRDs are installed first

のエラーによって作成されませんでした😢

原因

わかりませんでした(解決はしたので詳細は後述)

「ensure CRDs are installed first(CRDを先にインストールしろよ)」などと言われている割には、kubectl get crdsでカスタムリソース定義を確認すればIPAddressPoolは既にインストール済みですし、どん詰まりでした。

解決方法

kubectl applyの後、10分ほど待ってから再度kubectl applyを試してみたところ、今度はエラーが出ずIpAddressPoolを作成することができました。

よくわからない・・・(詳細をご存じの方はTwitterでもこちらの記事のコメントでも、ご連絡いただけると嬉しいです)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0