KubernetesでカスタムCAで署名された証明書が無効です。

KubernetesでカスタムCAで署名された証明書が無効です。

次のプロセスを設定しようとしています。

  1. ポッドが起動し、秘密鍵とcsrが生成されます。
  2. 署名とIP確認のためにパスワード保護されたサービスにCSRを送信してください。
  3. サービスは有効なcrtを返します。このcrtは、手順1で生成された秘密鍵とともに.p12としてパッケージ化されます。

ここでテストしている設定は、grafanaインスタンスがWebフックをサービスに送信してからSNSにルーティングすることです(AWS Lambdaを以前のように使用したくありません)。 1つのSMSに対して多くのオーバーヘッドが発生し、すべての通知Webフックを1か所に保持できます。次のURLでkubernetesサービスにアクセスしようとしたとき

https://zevrant-notification-service/zevrant-notification-service/webhooks/serviceDown

grafanaで次のエラーが発生します。

Failed to send alert notifications" logger=context userId=1 orgId=1 uname=admin error="Post \"https://zevrant-notification-service/zevrant-notification-service/webhooks/serviceDown\": 
x509: certificate is not valid for any names, but wanted to match zevrant-notification-service" remote_addr=10.32.0.1

`

ポッド内でwgetを介して同じ要求を試みましたが、同様のエラーが発生しました。

wget https://zevrant-notification-service/zevrant-notification-service/webhooks/serviceDown

Connecting to zevrant-notification-service (10.105.135.223:443)
ssl_client: zevrant-notification-service: name 'zevrant-notification-service' not present in 
server certificate
wget: error getting response: Connection reset by peer

`

私が知っている限り、証明書に問題があることがわかりますが、証明書を確認すると、応答に正しいcnameが含まれています。証明書にはPod IPがIP SANとして含まれています。

openssl x509 -noout -subject -in test.pem 

subject=C = US, ST = MI, O = Zevrant Services Inc, OU = MyDivision, CN = zevrant-notification-service

これは私に合ったようで、次に何をすべきかわかりません。完全な証明書の詳細を以下に示します(これらのキーは一時キーであるため、証明書の例はポッドが終了するとキャンセルされます)。

-----BEGIN CERTIFICATE-----
MIIGBTCCA+2gAwIBAgICEl8wDQYJKoZIhvcNAQELBQAwgYUxCzAJBgNVBAYTAlVT
MQswCQYDVQQIDAJNSTERMA8GA1UEBwwIQmF5IENpdHkxHTAbBgNVBAoMFFpldnJh
bnQgU2VydmljZXMgSW5jMRUwEwYDVQQDDAwxOTIuMTY4LjEuMTcxIDAeBgkqhkiG
9w0BCQEWEWdlcmV0aGRAZ21haWwuY29tMB4XDTIxMDIyNTE3NDcyNVoXDTIyMDIy
NTE3NDcyNVowdTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1JMR0wGwYDVQQKDBRa
ZXZyYW50IFNlcnZpY2VzIEluYzETMBEGA1UECwwKTXlEaXZpc2lvbjElMCMGA1UE
AwwcemV2cmFudC1ub3RpZmljYXRpb24tc2VydmljZTCCAiIwDQYJKoZIhvcNAQEB
BQADggIPADCCAgoCggIBANJqXQocYHVTNzSDzVuUWbmuHAfncwayH8whnfDYaIHH
G1k1eO1wmbgpfAOGo6qa7XuXnh7KZGy13VOmBeULlLE6E1Y95N9v6x0h37NLcLJY
Yk/NJ1CyHpLTbkgWrPaEjcmOMJE60N3j6nP9i3S6QOndGj42apqFJz1dLdnlFhcG
BaBMiDXJp6XzNUuPNxjsY34u+8nUE3LQCfOdvHqoQ4eEtyyZbgzQhvqw+b9q5XpK
EBwC+OhvTtvev7PzCZKh3q9AgN+1XmZArLu8yAkvFfkiPjfm+h6tiDfxd7VZxulH
C7H5scAOTMMwgsJGetDr7MOFU7TxjfFInEjqe94sIO/Oz+Zr5Ov3I8QSlivAlbVW
sA2houU7du5uJ5gUlK6VzOHTasafoEw942G6XK7SWEJ6FXCjh9SzRqQgtVU58QIW
oRQ9DHwhHxy8WoZzUBdFJcHVPNiXnB2OD1I2NAnP/J018rXihfkDus5iwNlM+h1g
p3zoyBSw7LJtG402+j2JYPGxbCgvNNjgC4ZoofQYmCMeZMfUdXuhAtCUtsCxcpZF
mSR2HkqVp+Ybk3Fz3myVi+fl9UgYX47PicAzmWDs30W23it0NaEpiGsmN8F901Lp
4HSHoogjXYv0qP3AXwDq6f2AijzpRM0ttbEJb0mhcbPB1b02HD8J2pk9CUHO5UuF
AgMBAAGjgY0wgYowCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBH
ZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEFjuMncgCmyWkqSQnWCs9he
RbLvMB8GA1UdIwQYMBaAFLeLCTFMxer6/up4upTdVgayS1tGMA8GA1UdEQQIMAaH
BAohAAgwDQYJKoZIhvcNAQELBQADggIBAHUVvGaJ41gWciY0stLHjkz06XbB1RNp
AUAoups7OHsoGTKGquwxfkq8bYi5k2EZmDzxW6lZOQKINMHQZ4Q97pD/rKtWDSSs
y5izW7nzb30bUQd8pKZU+QIHnUfl9pzDMRNUlfWRmDdlLm58FROFh+NAkeRjgH6u
keCVPDJk5yM+KxHkTA92dhTFFNBDf7kcldnhaj3QPaudyLK7b2urTFiAa7WHDADt
AG0T2LSUGrS/619w+PRS01Su6wECHwucAGVvHNXG1KW9cjeJ4WwUlZ3vVbijzkPW
Ibx8pgrWW8bc4a/h+1OA2l1kDwV0FlCF8wVDRoG7RqaB9N/cu0NGKS+6m39MnS3E
lERRLcJpx+T8YUJXs09lhV3vSPW4wBKyHuoAEXO6Vh2PJm00R6KMbXmEn3eM3J+K
xIKfeJLV7LyM4xOCJP2VnAU0BSHOzmMOtHsgF4N9DflMnUUQjSrSLJTRmvwtCWwm
odai4e0Z49m1+Io0muIlj0a1mRsifFw1E5/edH1Gfd3m37iIwaf5OB2gvra540xL
nXi6QetJBzn1rY1TBfQ1+HlIaBxiHZqv5MNNQ4+v3nZohkX95K95iS0t3CuA7bns
TXy9hOgMaCEyvQUFyOKKuQ1xSh3F1KD2icm0nfu5o7rkgSue4qp7NjzF7WyDQhI0
pKkeomX+f9mS
-----END CERTIFICATE-----

ベストアンサー1

ほぼすべて来た、友達。 SAN には、元の CN (zevrant-notification-service) と代替名 (10.105.135.223) を含める必要があります。

現在、SANは10.105.135.223であり、これは元のゼブラント通知サービス(CN)を無効にしています。

おすすめ記事