PowerFlexゲートウェイのSSL証明書は90日ごとに期限切れになり、CSIドライバーが失敗します。
概要: PowerFlexゲートウェイのSecure Sockets Layer(SSL)証明書は、90日ごとに期限切れになります。これは、この証明書を使用するPowerFlex導入用のコンテナ ストレージ インターフェイス(CSI)ドライバーに影響します。
現象
証明書を含むシークレットの有効期限が切れると、ドライバーのデプロイが失敗します。PowerFlexドライバー ノード ポッドとコントローラー ポッドは、 "CrashLoopBackOff" 証明書の検証に失敗するためです。ユーザーはプロビジョニングを実行できません。
すべてのポッドが表示されます "CrashLoopBackOff".
ログには、次の情報が表示されます。 "get \https://x.x.x.x/api/login\":tls:failed to verify certification signed by unknow authority
原因
このコマンドは、PowerFlexゲートウェイ証明書を取得します。ただし、PowerFlexゲートウェイ証明書は90日ごとに期限切れになります。
openssl s_client -showcerts -connect <Gateway IP:Port> </dev/null 2>/dev/null | openssl x509 -outform PEM > ca_cert_0.pem
解決方法
回避策:
証明書の有効期限が切れているか失効しているためにドライバーへのアクセスに問題が発生した場合は、次の手順に従って問題を解決できます:
1。次のコマンドを使用して、シークレットの証明書を更新します。
kubectl create secret generic vxflexos-certs-0 -n vxflexos --from-file=cert-0=ca_cert_0.pem -o yaml --dry-run | kubectl replace -f -
2.ドライバーを再起動して、サーバーから返されたSSL証明書を検証するために、最新の更新されたシークレットが使用されることを確認します
これらの手順は、ドライバーが更新された証明書を使用してサーバーとの安全な接続を確立できるようにするのに役立ちます
シークレットにPowerFlexゲートウェイSSL証明書があり、ユーザーがそれをPlatform Root Certificate of Authority (CA)に置き換えたい場合:
1.次のコマンドを使用して、証明書(プラットフォーム ルートCA)を取得します。
kubectl get secret -n powerflex ca-key-secret -o json -o=jsonpath="{.data.tls\.crt}" | base64 -d > ./pfmp_platform_ca.crt
2.シークレットを置き換えます。
3.次に、ドライバー ポッドを削除してドライバーを再起動します。すべてのポッドは、 "CrashLoopBackOff" state.
解像度:
この問題は、PowerFlex 4.6.xで修正される予定です。