Supervisor verwendet TLS für die Kommunikation zwischen Supervisor und NSX. Es gibt verschiedene NSX Zertifikate, die Sie ggf. rotieren müssen, wenn Sie Supervisor mit dem NSX-Netzwerk-Stack bereitgestellt haben.
Von Supervisor verwendete NSX-Zertifikate
- NSX Load Balancer-Zertifikat und -Schlüssel
- NSX Manager-Zertifikat und -Schlüssel
Rotieren des NSX Load Balancer-Zertifikats und -Schlüssels
- Wählen Sie aus, um das Zertifikat zu generieren.
- Wählen Sie aus, um das Zertifikat und den Schlüssel zu aktualisieren.
Generieren eines selbstsignierten Zertifikats und Schlüssels für jeden NSX Manager-Knoten
Supervisor verwendet das Enterprise-Administratorkonto, um auf die NSX Manager-API zuzugreifen. Wenn das NSX Manager-Zertifikat abläuft, kann Supervisor nicht auf NSX zugreifen.
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
Zum Beheben des Problems aktualisieren Sie das Zertifikat und den Schlüssel für jeden NSX Manager-Knoten. Wenn Sie einen NSX-Verwaltungscluster mit 3 Knoten mit einer VIP-Adresse verwenden, beachten Sie, dass Supervisor die VIP-Adresse nicht verwendet. Dies bedeutet, dass Sie jedes Zertifikat auf jedem NSX Manager-Knoten rotieren müssen. Sie können die Zertifikate nicht rotieren, indem Sie nur das VIP-Zertifikat ersetzen.
- Um das Zertifikat für einen NSX Manager-Knoten zu rotieren, erstellen Sie eine Zertifikatsignieranforderung mit einem Namen und füllen Sie sie mit dem folgenden Inhalt auf.
Dabei gilt:
NSX-MGR-IP-ADDRESS
ist die NSX Manager-IP-AdresseNSX-MGR-FQDN
ist der NSX Manager-FQDN oder die IP-Adresse
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
Beispiel:[ 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
- Verwenden Sie OpenSSL, um das SSL-Zertifikat und den privaten Schlüssel zu generieren.
openssl req -newkey rsa -nodes -days 1100 -x509 -config nsx-mgr-01-cert.cnf -keyout nsx-mgr-01.key -out nsx-mgr-01.crt
- Stellen Sie sicher, dass die folgende Ausgabe angezeigt wird, nachdem Sie den Befehl ausgeführt haben.
Generating a 2048 bit RSA private key ...............+++ ................+++ writing new private key to 'nsx-mgr-01.key'
- Es sollten drei Dateien angezeigt werden: die anfängliche Signieranforderung sowie das Zertifikat und der private Schlüssel, die durch Ausführen der Signieranforderung generiert wurden.
- Führen Sie den folgenden Befehl aus, um das Zertifikat und den privaten Schlüssel zu überprüfen.
openssl x509 -in nsx-mgr-01.crt -text -noout
- Wenn Sie einen NSX-Verwaltungscluster mit mehreren Knoten verwenden, wiederholen Sie den Vorgang für jeden NSX Manager-Knoten. Ändern Sie die IP-Adresse und den FQDN in der Zertifikatsignieranforderung und den Namen der Ausgabedateien entsprechend.
Importieren des SSL-Zertifikats und des privaten Schlüssels in die NSX-T Management-Konsole
nsx.crt
und
nsx.key
lokal speichern, können Sie diese in NSX hochladen oder den Inhalt kopieren bzw. einfügen.
- Melden Sie sich bei der NSX-Verwaltungskonsole an und navigieren Sie zur Seite .
- Klicken Sie auf Hinweis: Da Sie ein selbstsigniertes Zertifikat generiert haben, wählen Sie auf jeden Falls Zertifikat importieren und nicht CA-Zertifikat importieren aus.
.
- Geben Sie einen aussagekräftigen Namen für das Paar bestehend aus Zertifikat und Schlüssel ein, z. B.
nsx-mgr-01-cert-and-key
. - Navigieren Sie zu der Zertifikatsdatei und wählen Sie diese aus. Sie können den Inhalt auch kopieren und einschließlich Kopfzeile und Fußzeile einfügen.
Beispiel:
-----BEGIN CERTIFICATE----- MIID+zCCAuOgAwIBAgIUCfXaWxNwXvrEFQbt+Dvvp9C/UkIwDQYJKoZIhvcNAQEL BQAwVTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExCzAJBgNVBAcM ... FGlnyT4vxpa2TxvXNTCuXPV9z0VtVBF2QpUJluGH7W1i2wUnApCCXhItcBkfve0f pCi9YoRoUT8fuMBYo7sL -----END CERTIFICATE-----
- Navigieren Sie zum ausgewählten Schlüssel und wählen Sie diesen aus. Sie können den Inhalt auch kopieren und einschließlich Kopfzeile und Fußzeile einfügen.
Beispiel:
-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5GNlUSYHa1p+E XuOGAsIgiFxUnerRYNm2ARMqRb/xKK6R4xgZhBmpmikpE90vQibvouHqnL13owq7 ... OzbnwMCUI2TeY1iJNx3HNKUrdLvrr8CMh7Looe0L4/2j7ygew2x2C5m272SCJYs/ ly+bOXEYaH4/ORHbvvr0jQ== -----END PRIVATE KEY-----
- Wählen Sie für Dienstzertifikat die Option Nein aus.
- Geben Sie eine Beschreibung für das Paar bestehend aus Zertifikat und Schlüssel ein, z. B.
Cert and Private Key for NSX Manager Node 1
. - Klicken Sie auf Import.
- Wiederholen Sie den Vorgang für jedes NSX Manager-Zertifikat und Schlüsselpaar.
Registrieren des NSX Manager-Zertifikats mithilfe der NSX API
- Wählen Sie in NSX Manager aus.
- Wählen Sie in der Spalte ID die ID des zu registrierenden Zertifikats aus und kopieren Sie die Zertifikat-ID aus dem Popup-Fenster.
- Führen Sie den folgenden API-Aufruf aus, um die Zertifikate auflisten. Rufen Sie die Zertifikatknoten-IDs für jedes zu aktualisierende Zertifikat ab.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates
- Führen Sie den folgenden API-Aufruf aus, um das Zertifikat zu validieren.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>?action=validate
Beispiel:https://10.19.92.133/api/v1/trust-management/certificates/070bae44-7548-45ff-a884-578f079eb6d4?action=validate
- Führen Sie den folgenden API-Aufruf aus, um das Zertifikat eines NSX Manager Knotens zu ersetzen:
POST https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>? action=apply_certificate&service_type=API&node_id=<node-id>
Beispiel: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
- Wenn Sie einen NSX-Verwaltungscluster mit mehreren Knoten verwenden, wiederholen Sie den Vorgang zum Ersetzen von Zertifikaten für jeden NSX Manager-Knoten.
- Wenn Sie fertig sind, löschen Sie jedes abgelaufene Zertifikat, das Sie ersetzt haben. Sie können dies mithilfe der NSX Manager-Schnittstelle oder mithilfe der NSX API erledigen.
Beispiel:
https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>