Supervisore utilizza TLS per la comunicazione tra Supervisore e NSX. Potrebbe essere necessario ruotare vari certificati NSX se Supervisore è stato distribuito con lo stack di rete NSX.
Certificati NSX utilizzati da Supervisore
- Chiave e certificato del bilanciamento del carico NSX
- Chiave e certificato di NSX Manager
Rotazione della chiave e del certificato del bilanciamento del carico NSX
- Selezionare per generare il certificato.
- Selezionare per aggiornare il certificato e la chiave.
Generazione di una chiave e un certificato autofirmati per ogni nodo NSX Manager
Supervisore utilizza l'account amministratore aziendale per accedere all'API di NSX Manager. Se il certificato NSX Manager scade, Supervisore non può accedere a NSX.
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
Per risolvere il problema, aggiornare il certificato e la chiave per ogni nodo NSX Manager. Se si utilizza un cluster di gestione NSX a 3 nodi con un indirizzo VIP, tenere presente che Supervisore non utilizza l'indirizzo VIP. Questo significa che sarà necessario ruotare ciascun certificato su ognuno dei nodi NSX Manager. Non è possibile ruotare i certificati semplicemente sostituendo il certificato VIP.
- Per ruotare il certificato per un nodo NSX Manager, creare una richiesta di firma del certificato denominata e compilarla con il contenuto seguente.
dove:
NSX-MGR-IP-ADDRESS
è l'indirizzo IP di NSX ManagerNSX-MGR-FQDN
è il nome di dominio completo o l'indirizzo IP di NSX Manager
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
Ad esempio:[ 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
- Utilizzare OpenSSL per generare il certificato SSL e la chiave privata.
openssl req -newkey rsa -nodes -days 1100 -x509 -config nsx-mgr-01-cert.cnf -keyout nsx-mgr-01.key -out nsx-mgr-01.crt
- Verificare che venga visualizzato il seguente output dopo l'esecuzione del comando.
Generating a 2048 bit RSA private key ...............+++ ................+++ writing new private key to 'nsx-mgr-01.key'
- Dovrebbero essere visualizzati 3 file, ovvero la richiesta di firma iniziale e il certificato e la chiave privata generati con l'esecuzione della richiesta di firma.
- Eseguire il comando seguente per verificare il certificato e la chiave privata.
openssl x509 -in nsx-mgr-01.crt -text -noout
- Se si utilizza un cluster di gestione NSX multinodo, ripetere il processo per ogni nodo NSX Manager. Modificare l'indirizzo IP e il nome di dominio completo nella richiesta di firma del certificato e i nomi dei file di output di conseguenza.
Importazione del certificato SSL e della chiave privata nella console di gestione NSX-T
nsx.crt
e
nsx.key
vengono salvati in locale, è possibile caricarli in NSX oppure copiare/incollare il relativo contenuto.
- Accedere alla console di gestione NSX e passare alla pagina .
- Fare clic su Nota: Dal momento che è stato generato un certificato autofirmato, assicurarsi di selezionare Importa certificato e non Importa certificato CA.
.
- Immettere un Nome descrittivo per la coppia chiave-certificato, ad esempio
nsx-mgr-01-cert-and-key
. - Cercare e selezionare il file del certificato oppure copiare/incollare il relativo contenuto, inclusi intestazione e piè di pagina.
Ad esempio:
-----BEGIN CERTIFICATE----- MIID+zCCAuOgAwIBAgIUCfXaWxNwXvrEFQbt+Dvvp9C/UkIwDQYJKoZIhvcNAQEL BQAwVTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExCzAJBgNVBAcM ... FGlnyT4vxpa2TxvXNTCuXPV9z0VtVBF2QpUJluGH7W1i2wUnApCCXhItcBkfve0f pCi9YoRoUT8fuMBYo7sL -----END CERTIFICATE-----
- Cercare e selezionare la chiave oppure copiarne o incollarne il contenuto, inclusi l'intestazione e il piè di pagina.
Ad esempio:
-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5GNlUSYHa1p+E XuOGAsIgiFxUnerRYNm2ARMqRb/xKK6R4xgZhBmpmikpE90vQibvouHqnL13owq7 ... OzbnwMCUI2TeY1iJNx3HNKUrdLvrr8CMh7Looe0L4/2j7ygew2x2C5m272SCJYs/ ly+bOXEYaH4/ORHbvvr0jQ== -----END PRIVATE KEY-----
- Selezionare No per l'opzione Certificato di servizio.
- Immettere una descrizione per la coppia chiave-certificato, ad esempio
Cert and Private Key for NSX Manager Node 1
. - Fare clic su Importa.
- Ripetere il processo per ciascuna coppia di chiave e certificato di NSX Manager.
Registrazione del certificato di NSX Manager mediante NSX API
- In NSX Manager selezionare .
- Nella colonna degli ID selezionare l'ID del certificato che si desidera registrare e copiare l'ID del certificato dalla finestra a comparsa.
- Eseguire la chiamata API seguente per elencare i certificati. Recuperare gli ID dei nodi dei certificati per ogni certificato che si desidera aggiornare.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates
- Eseguire la chiamata API seguente per convalidare il certificato.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>?action=validate
Ad esempio:https://10.19.92.133/api/v1/trust-management/certificates/070bae44-7548-45ff-a884-578f079eb6d4?action=validate
- Eseguire la chiamata API seguente per sostituire il certificato di un nodo 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>
Ad esempio: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
- Se si utilizza un cluster di gestione NSX multinodo, ripetere il processo di sostituzione del certificato per ogni nodo NSX Manager.
- Al termine, eliminare ogni certificato scaduto che è stato sostituito. È possibile eseguire questa operazione utilizzando l'interfaccia di NSX Manager o NSX API.
Ad esempio:
https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>