Le Superviseur utilise TLS pour la communication entre le Superviseur et NSX. Vous devrez éventuellement effectuer une rotation de plusieurs certificats NSX si vous avez déployé le Superviseur avec la pile de mise en réseau NSX.
Certificats NSX utilisés par le Superviseur
- Certificat et clé d'équilibrage de charge NSX
- Certificat et clé NSX Manager
Effectuer une rotation du certificat et de la clé de l'équilibrage de charge NSX
- Sélectionnez pour générer le certificat.
- Sélectionnez pour mettre à jour le certificat et la clé.
Générer un certificat auto-signé et une clé pour chaque nœud NSX Manager
Le Superviseur utilise le compte d'administrateur d'entreprise pour accéder à l'API NSX Manager. Si le certificat NSX Manager expire, le Superviseur ne peut pas accéder à 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
Pour résoudre ce problème, mettez à jour le certificat et la clé pour chaque nœud NSX Manager. Si vous utilisez un cluster de gestion NSX à 3 nœuds avec une adresse VIP, sachez que le Superviseur n'utilise pas l'adresse VIP. Cela signifie que vous devrez effectuer une rotation de chaque certificat sur chacun des nœuds NSX Manager. Vous ne pouvez pas effectuer une rotation des certificats en remplaçant uniquement le certificat VIP.
- Pour effectuer une rotation du certificat d'un nœud NSX Manager, créez une demande de signature de certificat nommée et remplissez-la avec le contenu ci-dessous.
Où :
NSX-MGR-IP-ADDRESS
est l'adresse IP de NSX ManagerNSX-MGR-FQDN
est le nom de domaine complet ou l'adresse IP de 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
Par exemple :[ 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
- Utilisez OpenSSL pour générer le certificat SSL et la clé privée.
openssl req -newkey rsa -nodes -days 1100 -x509 -config nsx-mgr-01-cert.cnf -keyout nsx-mgr-01.key -out nsx-mgr-01.crt
- Vérifiez que la sortie suivante s'affiche après l'exécution de la commande.
Generating a 2048 bit RSA private key ...............+++ ................+++ writing new private key to 'nsx-mgr-01.key'
- Vous devez voir 3 fichiers : la demande de signature initiale, le certificat et la clé privée générés en exécutant la demande de signature.
- Exécutez la commande suivante pour vérifier le certificat et la clé privée.
openssl x509 -in nsx-mgr-01.crt -text -noout
- Si vous utilisez un cluster de gestion NSX à plusieurs nœuds, répétez le processus pour chaque nœud NSX Manager. Modifiez l'adresse IP et le nom de domaine complet dans la demande de signature de certificat et les noms des fichiers de sortie en conséquence.
Importer le certificat SSL et la clé privée dans la console de gestion NSX-T
nsx.crt
et
nsx.key
localement, vous pouvez les télécharger dans NSX ou copier/coller le contenu.
- Connectez-vous à la console de gestion NSX et accédez à la page .
- Cliquez sur Note : Puisque vous avez généré un certificat auto-signé, veillez à sélectionner Importer un certificat et non Importer un certificat d'autorité de certification.
.
- Entrez un Nom descriptif pour le certificat et la paire de clés, par exemple
nsx-mgr-01-cert-and-key
. - Recherchez et sélectionnez le fichier de certificat ou copiez/collez son contenu, y compris l'en-tête et le pied de page.
Par exemple :
-----BEGIN CERTIFICATE----- MIID+zCCAuOgAwIBAgIUCfXaWxNwXvrEFQbt+Dvvp9C/UkIwDQYJKoZIhvcNAQEL BQAwVTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExCzAJBgNVBAcM ... FGlnyT4vxpa2TxvXNTCuXPV9z0VtVBF2QpUJluGH7W1i2wUnApCCXhItcBkfve0f pCi9YoRoUT8fuMBYo7sL -----END CERTIFICATE-----
- Recherchez et sélectionnez la clé, ou copiez/collez son contenu, y compris l'en-tête et le pied de page.
Par exemple :
-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5GNlUSYHa1p+E XuOGAsIgiFxUnerRYNm2ARMqRb/xKK6R4xgZhBmpmikpE90vQibvouHqnL13owq7 ... OzbnwMCUI2TeY1iJNx3HNKUrdLvrr8CMh7Looe0L4/2j7ygew2x2C5m272SCJYs/ ly+bOXEYaH4/ORHbvvr0jQ== -----END PRIVATE KEY-----
- Sélectionnez Non pour l'option Certificat de service.
- Entrez une description pour le certificat et la paire de clés, telle que
Cert and Private Key for NSX Manager Node 1
. - Cliquez sur Importer.
- Répétez le processus pour chaque certificat NSX Manager et paire de clés.
Enregistrer le certificat NSX Manager à l'aide de NSX API
- Dans NSX Manager, sélectionnez .
- Dans la colonne ID, sélectionnez l'ID du certificat que vous voulez enregistrer et copiez-le dans la fenêtre contextuelle.
- Exécutez l'appel d'API suivant pour répertorier les certificats. Obtenez les ID de nœud de certificat pour chaque certificat que vous souhaitez mettre à jour.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates
- Exécutez l'appel d'API suivant pour valider le certificat.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>?action=validate
Par exemple :https://10.19.92.133/api/v1/trust-management/certificates/070bae44-7548-45ff-a884-578f079eb6d4?action=validate
- Exécutez l'appel d'API suivant pour remplacer le certificat d'un nœud 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>
Par exemple :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
- Si vous utilisez un cluster de gestion NSX à nœuds multiples, répétez le processus de remplacement des certificats pour chaque nœud NSX Manager.
- Lorsque vous avez terminé, supprimez chaque certificat expiré que vous avez remplacé. Vous pouvez le faire à l'aide de l'interface de NSX Manager ou en utilisant NSX API.
Par exemple :
https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>