Il certificato firmato dall'autorità di certificazione importato è scaduto.

Problema

Il certificato firmato dall'autorità di certificazione importato nell'host dell'appliance NSX Manager è scaduto e non è possibile continuare a lavorare con NSX Application Platform. È necessario delegare un certificato autofirmato, firmato dall'autorità di certificazione, per continuare a utilizzare NSX Application Platform e le funzionalità di NSX che ospita.

Causa

La scadenza predefinita per un certificato firmato dall'autorità di certificazione è di 825 giorni. I certificati autofirmati del sistema vengono rinnovati automaticamente. Se si importa un certificato personalizzato firmato dall'autorità di certificazione, è necessario mantenere il ciclo di vita di tale certificato. Se si dimentica di rinnovarla, la connessione tra il NSX Application Platform e NSX Manager Unified Appliance si interromperà e non sarà possibile continuare a lavorare con le funzionalità NSX Application Platform e NSX che ospita.

Soluzione

  1. Accedere all'appliance NSX Manager come utente root.
  2. Delegare a un certificato autofirmato, firmato dall'autorità di certificazione, utilizzando il comando kubectl seguente al prompt dei comandi di NSX Manager.
    system prompt> kubectl patch certificate ca-cert -n cert-manager --type='json' -p='[{"op": "replace", "path": "/spec/secretName", "value":"ca-key-pair"}]'
  3. Attendere circa 30 secondi, quindi esportare il certificato di uscita immettendo i seguenti comandi kubectl e cat al prompt del sistema NSX Manager, uno alla volta.
    system prompt> kubectl get secret -n nsxi-platform egress-tls-cert -o=jsonpath='{.data.tls\.crt}' | base64 -d - > tls.crt
    system prompt> kubectl get secret -n nsxi-platform egress-tls-cert -o=jsonpath='{.data.ca\.crt}' | base64 -d - > ca.crt
    system prompt> cat tls.crt ca.crt > egress.crt
  4. Importare il file egress.crt nell'appliance NSX Manager utilizzando l'interfaccia utente e ottenere l'UUID del certificato.
    1. Dal browser, accedere con i privilegi Amministratore aziendale a un NSX Manager all'indirizzo https://<nsx-manager-ip-address>.
    2. Passare a Sistema > Certificati, fare clic su Importa, quindi selezionare Certificato dal menu a discesa.
    3. Immettere un nome per il certificato.
    4. Impostare Certificato di servizio su No.
    5. Nella casella di testo Contenuti del certificato, incollare il contenuto del file egress.crt creato nel passaggio precedente.
    6. Fare clic su Salva.
    7. Nella tabella Certificati, espandere la riga per il certificato appena aggiunto e copiare il valore dell'ID certificato.
  5. Tornare nella sessione dell'utente root dell'appliance NSX Manager, ottenere l'UUID cloudnative_platform_egress PricinpleIdentity utilizzando il comando seguente curl al prompt del sistema.
    system prompt> curl -ku 'admin:yourAdminPassword' https://127.0.0.1/api/v1/trust-management/principal-identities
  6. Associare PrincipleIdentity con l'ID certificato importato utilizzando il comando seguente curl al prompt del sistema.
    curl -ku 'admin:yourAdminPassword' https://127.0.0.1/api/v1/trust-management/principal-identities?action=update_certificate -X POST -H "Content-Type: application/json" -H "X-Allow-Overwrite: true" -d '{"principal_identity_id": "<PI-UUID>", "certificate_id": "<EGRESS-CERT-ID>"}'