K8s:nginx-ingress:SSL_do_handshake()失敗(SSL:錯誤:191CF08C:SSL例程:tls_parse_ctos_key_share:錯誤的金鑰共用)

K8s:nginx-ingress:SSL_do_handshake()失敗(SSL:錯誤:191CF08C:SSL例程:tls_parse_ctos_key_share:錯誤的金鑰共用)

我們發現 nginx ingress 和 cert-manager 已經過時,不再與 Kubernetes 版本 1.22 相容。我升級了兩個組件:nginx-ingress從0.26.1到1.5.1。以及版本 0.12.0 到 1.5 的憑證管理員。

這導致 cert-manager pod 運行

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 已準備就緒

清理孤立的機密這會刪除憑證管理員自動建立的自簽名 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

相關內容