您匯入的 CA 簽署憑證已到期。
問題
您匯入到 NSX Manager 應用裝置主機的 CA 簽署憑證已到期,您無法繼續使用 NSX Application Platform。您必須委派一份自我簽署的 CA 簽署憑證才能繼續使用 NSX Application Platform 及其託管的 NSX 功能。
原因
CA 簽署憑證的預設到期時間為 825 天。系統自我簽署的憑證會自動更新。如果匯入自訂 CA 簽署憑證,則需要維護該憑證的生命週期。如果您忘記更新該憑證,NSX Application Platform 和 NSX Manager Unified Appliance 之間的連線會中斷,而且您將無法繼續使用 NSX Application Platform 及其託管的 NSX 功能。
解決方案
- 以 root 使用者身分登入 NSX Manager 應用裝置。
- 在 NSX Manager 命令提示字元下,使用以下 kubectl 命令來委派自我簽署的 CA 簽署憑證。
system prompt> kubectl patch certificate ca-cert -n cert-manager --type='json' -p='[{"op": "replace", "path": "/spec/secretName", "value":"ca-key-pair"}]'
- 等待大約 30 秒,然後在 NSX Manager 系統提示字元下輸入以下 kubectl 和 cat 命令以匯出輸出憑證 (每次匯出一個)。
system prompt> kubectl get secret -n nsxi-platform egress-tls-cert -o=jsonpath='{.data.tls\.crt}' | base64 -d - > tls.crt
system prompt> kubectl get secret -n nsxi-platform egress-tls-cert -o=jsonpath='{.data.ca\.crt}' | base64 -d - > ca.crt
system prompt> cat tls.crt ca.crt > egress.crt
- 使用使用者介面將 egress.crt 匯入到 NSX Manager 應用裝置並取得憑證 UUID。
- 從瀏覽器以企業管理員權限登入 NSX Manager,網址為 https://<nsx-manager-ip-address>。
- 導覽至,按一下匯入,然後從下拉式功能表中選取憑證。
- 輸入憑證的名稱。
- 將服務憑證設定為否。
- 在憑證內容文字方塊中,貼上您在上一個步驟中建立的 egress.crt 檔案的內容。
- 按一下儲存。
- 在 [憑證] 資料表中,展開所新增憑證的資料列並複製憑證識別碼值。
- 回到 NSX Manager 應用裝置 root 使用者工作階段,在系統提示字元下使用以下 curl 命令取得 PricinpleIdentity
cloudnative_platform_egress
UUID。
system prompt> curl -ku 'admin:yourAdminPassword' https://127.0.0.1/api/v1/trust-management/principal-identities
- 在系統提示字元下,使用以下 curl 命令將 PrincipleIdentity 與匯入的憑證識別碼繫結在一起。
curl -ku 'admin:yourAdminPassword' https://127.0.0.1/api/v1/trust-management/principal-identities?action=update_certificate -X POST -H "Content-Type: application/json" -H "X-Allow-Overwrite: true" -d '{"principal_identity_id": "<PI-UUID>", "certificate_id": "<EGRESS-CERT-ID>"}'