[GKE] Cert-Managerをdeployするとcert-manager-cainjector上でcrashloopbackoffエラーが発生した件

GKE(Google Kubernetes Engine)のWEBコンテナをSSL化するために、Cert-Managerを使用して証明書を管理しようとしてcert-manager-cainjector上でcrashloopbackoffエラーが発生してハマったのでメモ書き

 

Cert-Manager:https://hub.helm.sh/charts/jetstack/cert-manager

 

Cert-ManagerをGKE上にDeployするにはHelmをインストールしてDeployする

helm repo add jetstack https://charts.jetstack.io
helm install --name my-release --namespace cert-manager jetstack/cert-manager

helmでインストールを行うと

  • cert-manager
  • cert-manager-cainjector
  • cert-manager-webhook

という3つのワークロードが作成される

しかし、なぜかcert-manager-cainjectorがcrashloopbackoff(何度も再起動)というエラーが発生してDeployが成功しなかった。

Podのログを見てみると

error registering controllers: no matches for kind "Certificate" in version "cert-manager.io/v1alpha2

という重大なエラーが発生していることが原因っぽいので、さらに調査

 

下記サイトによると「Can you confirm that all the cert-manager CRDs are install on your cluster?(cert-manager CRDsの全部がインストールされているのか確認できるか?)」というアドバイスがあったので、

https://github.com/jetstack/cert-manager/issues/2110

インストールガイド(https://hub.helm.sh/charts/jetstack/cert-manager)をよく見てみると、、、

IMPORTANT: you MUST install the cert-manager CRDs **before** installing the cert-manager Helm

「インストール前にcert-manager CRDsをインストールしましょう!」を見逃していた、、

 

改めて、下記コマンドを実行してCRDsをインストールしてから

kubectl apply --validate=false \
 -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.13/deploy/manifests/00-crds.yaml

再度Deploy!

helm install --name my-release --namespace cert-manager jetstack/cert-manager

無事、cert-manager-cainjectorも正常に動作した

 

マニュアルはよく読みましょう、、、

 

 

 

One thought on “[GKE] Cert-Managerをdeployするとcert-manager-cainjector上でcrashloopbackoffエラーが発生した件

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です