%20%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%20(SSL%3A%20%E3%82%A8%E3%83%A9%E3%83%BC%3A191CF08C%3ASSL%20%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3%3Atls_parse_ctos_key_share%3A%20%E4%B8%8D%E6%AD%A3%E3%81%AA%E3%82%AD%E3%83%BC%E5%85%B1%E6%9C%89).png)
nginx ingress と cert-manager が古く、Kubernetes バージョン 1.22 と互換性がないことが判明しました。2 つのコンポーネントをアップグレードします。nginx-ingress を 0.26.1 から 1.5.1 に、cert-manager をバージョン 0.12.0 から 1.5 にアップグレードします。
これにより、cert-managerポッドが実行される
kubectl get pods -n cert-manager
NAME READY STATUS RESTARTS AGE
cert-manager-dfp85b9bd-ptk9l 1/1 Running 0 26h
cert-manager-cainjector-3d65bcdcfd-fktsz 1/1 Running 0 26h
cert-manager-webhook-c596f8c6c-8cx4x 1/1 Running 0 26h
そして
Kubectl get certificates -n default
NAME READY SECRET AGE
alertmanager-tls False alertmanager-tls 1y12d
prometheus-tls False prometheus-tls 1y19d
cmctl check api -n cert-managerは次のように返します: cert-manager APIは準備ができています
孤立したシークレットをクリーンアップします。これにより、cert-manager の自動的に作成された自己署名 CA 証明書が削除されました。再起動後、ログは主にクリーンに見えました。
まだ存在するエラー:
cert-manager-cainjector: cert-manager/secret-for-certificate-mapper "msg"="unable to fetch certificate that owns the secret" "error"="Certificate.cert-manager.io "grafana-tls" not found"
nginx-ingress: SSL_do_handshake() failed (SSL: error:191CF08C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client