主管 使用 TLS 在 主管 與 NSX 之間進行通訊。如果已部署具有 NSX 網路堆疊的 主管,則可能需要輪替各種 NSX 憑證。
主管 使用的 NSX 憑證
具有 NSX 的 WCP 使用兩個憑證與 NSX 整合:
- NSX 負載平衡器憑證和金鑰
- NSX Manager 憑證和金鑰
如需有關這些憑證的詳細資訊,請參閱
《NSX 管理指南》中的
〈用於 NSX 聯盟的憑證〉。
備註: 本主題中的資訊基於 NSX v3.2。
輪替 NSX 負載平衡器憑證和金鑰
您可以在
畫面上輪替 NSX 負載平衡器 TLS 憑證和金鑰。
- 選取 以產生憑證。
- 選取 以更新憑證和金鑰。
為每個 NSX Manager 節點產生自我簽署憑證和金鑰
主管 使用企業管理員帳戶存取 NSX Manager API。如果 NSX Manager 憑證到期,主管 將無法存取 NSX。
如果 NSX Manager 憑證到期,請檢查
主管 記錄:
tail -f /var/log/vmware/wcp/wcpsvc.log
您可能會看到類似下列內容的錯誤:
error wcp [kubelifecycle/nsx_pi.go:47] ... Error creating WCP service principal identity. Err: NSX service-wide principal identity creation failed: ... x509: certificate has expired
error wcp [kubelifecycle/controller.go:554] ... Failed to create WCP service PI in NSX. Err: WCP service principal idenitity creation failed: NSX service-wide principal identity creation failed: ... x509: certificate has expired
若要解決此問題,請更新每個 NSX Manager 節點的憑證和金鑰。如果使用具有 VIP 位址的 3 節點 NSX 管理叢集,請注意 主管 不使用 VIP 位址。這意味著,您需要在每個 NSX Manager 節點上輪替每個憑證。無法透過僅取代 VIP 憑證來輪替憑證。
- 若要輪替 NSX Manager 節點的憑證,請建立一個憑證簽署要求,並在其中填入以下內容。
其中:
NSX-MGR-IP-ADDRESS
是 NSX Manager 的 IP 位址NSX-MGR-FQDN
是 NSX Manager 的 FQDN 或 IP 位址
nsx-mgr-01-cert.cnf
[ req ] default_bits = 2048 default_md = sha256 prompt = no distinguished_name = req_distinguished_name x509_extensions = SAN req_extensions = v3_ca [ req_distinguished_name ] countryName = US stateOrProvinceName = California localityName = CA organizationName = NSX commonName = NSX-MGR-IP-ADDRESS #CAN ONLY USE IF SAN IS ALSO USED [ SAN ] basicConstraints = CA:false subjectKeyIdentifier = hash authorityKeyIdentifier=keyid:always,issuer:always [ v3_ca ] subjectAltName = DNS:NSX-MGR-FQDN,IP:NSX-MGR-IP-ADDRESS #MUST USE
例如:[ req ] default_bits = 2048 default_md = sha256 prompt = no distinguished_name = req_distinguished_name x509_extensions = SAN req_extensions = v3_ca [ req_distinguished_name ] countryName = US stateOrProvinceName = California localityName = CA organizationName = NSX commonName = 10.197.79.122 [ SAN ] basicConstraints = CA:false subjectKeyIdentifier = hash authorityKeyIdentifier=keyid:always,issuer:always [ v3_ca ] subjectAltName = DNS:10.197.79.122,IP:10.197.79.122
- 使用 OpenSSL 產生 SSL 憑證和私密金鑰。
openssl req -newkey rsa -nodes -days 1100 -x509 -config nsx-mgr-01-cert.cnf -keyout nsx-mgr-01.key -out nsx-mgr-01.crt
- 執行命令後,確認您看到以下輸出。
Generating a 2048 bit RSA private key ...............+++ ................+++ writing new private key to 'nsx-mgr-01.key'
- 您應看到 3 個檔案:初始簽署要求、執行簽署要求產生的憑證和私密金鑰。
- 執行以下命令以驗證憑證和私密金鑰。
openssl x509 -in nsx-mgr-01.crt -text -noout
- 如果使用多節點 NSX 管理叢集,請對每個 NSX Manager 節點重複此程序。相應地變更憑證簽署要求中的 IP 位址和 FQDN 以及輸出檔案名稱。
將 SSL 憑證和私密金鑰匯入 NSX-T 管理主控台中
完成以下步驟,將每個 NSX Manager 節點憑證和私密金鑰匯入 NSX 中。如果將
nsx.crt
和
nsx.key
檔案儲存在本機,則可以將其上傳到 NSX,也可以複製/貼上內容。
- 登入 NSX 管理主控台,然後導覽到 頁面。
- 按一下備註: 由於您產生了自我簽署憑證,請務必選取 匯入憑證,而不是 匯入 CA 憑證。
。
- 為憑證和金鑰配對輸入描述性名稱,例如
nsx-mgr-01-cert-and-key
。 - 瀏覽並選取憑證檔案,或者複製/貼上其內容,包括標頭和註腳。
例如:
-----BEGIN CERTIFICATE----- MIID+zCCAuOgAwIBAgIUCfXaWxNwXvrEFQbt+Dvvp9C/UkIwDQYJKoZIhvcNAQEL BQAwVTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExCzAJBgNVBAcM ... FGlnyT4vxpa2TxvXNTCuXPV9z0VtVBF2QpUJluGH7W1i2wUnApCCXhItcBkfve0f pCi9YoRoUT8fuMBYo7sL -----END CERTIFICATE-----
- 瀏覽並選取金鑰,或者複製/貼上其內容,包括標頭和註腳。
例如:
-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5GNlUSYHa1p+E XuOGAsIgiFxUnerRYNm2ARMqRb/xKK6R4xgZhBmpmikpE90vQibvouHqnL13owq7 ... OzbnwMCUI2TeY1iJNx3HNKUrdLvrr8CMh7Looe0L4/2j7ygew2x2C5m272SCJYs/ ly+bOXEYaH4/ORHbvvr0jQ== -----END PRIVATE KEY-----
- 為服務憑證選項選取否。
- 輸入憑證和金鑰配對的說明,例如
Cert and Private Key for NSX Manager Node 1
。 - 按一下匯入。
- 對每個 NSX Manager 憑證和金鑰配對重複此程序。
使用 NSX API 登錄 NSX Manager 憑證
將憑證和金鑰上傳到 NSX Manager 後,使用 NSX API 進行登錄。另請參閱
《NSX 管理指南》中的
〈匯入和取代憑證〉。
- 在 NSX Manager 中,選取 。
- 在識別碼資料行中,選取要登錄的憑證的識別碼,然後複製快顯視窗中的憑證識別碼。
- 執行以下 API 呼叫以列出憑證。取得要更新的每個憑證的憑證節點識別碼。
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates
- 執行以下 API 呼叫以驗證憑證。
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>?action=validate
例如:https://10.19.92.133/api/v1/trust-management/certificates/070bae44-7548-45ff-a884-578f079eb6d4?action=validate
- 執行以下 API 呼叫以取代 NSX Manager 節點的憑證:
POST https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>? action=apply_certificate&service_type=API&node_id=<node-id>
例如:POST https://10.19.92.133/api/v1/trust-management/certificates/070bae44-7548-45ff-a884-578f079eb6d4? action=apply_certificate&service_type=API&node_id=e61c7537-3090-4149-b2b6-19915c20504f
- 如果使用多節點 NSX 管理叢集,請對每個 NSX Manager 節點重複憑證取代程序。
- 完成後,刪除您取代的每個已到期的憑證。您可以使用 NSX Manager 介面或 NSX API 執行此作業。
例如:
https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>