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

WCP mit NSX verwendet zwei Zertifikate für die Integration mit NSX:
  • NSX Load Balancer-Zertifikat und -Schlüssel
  • NSX Manager-Zertifikat und -Schlüssel
Weitere Informationen zu diesen Zertifikaten finden Sie im Administratorhandbuch für NSX unter Zertifikate für NSX-Verbund.
Hinweis: Die Informationen in diesem Thema basieren auf NSX v3.2.

Rotieren des NSX Load Balancer-Zertifikats und -Schlüssels

Sie können das TLS-Zertifikat und den Schlüssel des NSX Load Balancer auf dem Bildschirm Supervisor > Zertifikate > NSX Load Balancer rotieren.
  • Wählen Sie Aktionen > CSR generieren aus, um das Zertifikat zu generieren.
  • Wählen Sie Aktionen > Zertifikat ersetzen 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.

Überprüfen Sie bei Ablauf von einem oder mehreren NSX Manager-Zertifikaten das Supervisor-Protokoll:
tail -f /var/log/vmware/wcp/wcpsvc.log
Möglicherweise werden dann Fehler ähnlich den folgenden angezeigt:
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.

  1. 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-Adresse
    • NSX-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
  2. 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
    
  3. 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'
    
  4. 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.
  5. 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
  6. 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

Importieren Sie jedes NSX Manager-Knotenzertifikat und jeden privaten Schlüssel in NSX, indem Sie die folgenden Schritte befolgen. Wenn Sie die Dateien nsx.crt und nsx.key lokal speichern, können Sie diese in NSX hochladen oder den Inhalt kopieren bzw. einfügen.
  1. Melden Sie sich bei der NSX-Verwaltungskonsole an und navigieren Sie zur Seite System > Zertifikate.
  2. Klicken Sie auf Importieren > Zertifikat importieren.
    Hinweis: Da Sie ein selbstsigniertes Zertifikat generiert haben, wählen Sie auf jeden Falls Zertifikat importieren und nicht CA-Zertifikat importieren aus.
  3. 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.
  4. 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-----
  5. 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-----
  6. Wählen Sie für Dienstzertifikat die Option Nein aus.
  7. 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.
  8. Klicken Sie auf Import.
  9. Wiederholen Sie den Vorgang für jedes NSX Manager-Zertifikat und Schlüsselpaar.

Registrieren des NSX Manager-Zertifikats mithilfe der NSX API

Nachdem Sie die Zertifikate und Schlüssel in NSX Manager hochgeladen haben, registrieren Sie diese mithilfe der NSX API. Weitere Informationen finden Sie im Administratorhandbuch für NSX unter Importieren und Ersetzen von Zertifikaten.
  1. Wählen Sie in NSX Manager System > Zertifikate aus.
  2. Wählen Sie in der Spalte ID die ID des zu registrierenden Zertifikats aus und kopieren Sie die Zertifikat-ID aus dem Popup-Fenster.
  3. 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
  4. 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
  5. 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
  6. Wenn Sie einen NSX-Verwaltungscluster mit mehreren Knoten verwenden, wiederholen Sie den Vorgang zum Ersetzen von Zertifikaten für jeden NSX Manager-Knoten.
  7. 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>