Le certificat signé par une autorité de certification que vous avez importé a expiré.

Problème

Le certificat signé par une autorité de certification que vous avez importé dans l'hôte du dispositif NSX Manager a expiré et vous ne pouvez pas continuer à travailler avec NSX Application Platform. Vous devez déléguer un certificat auto-signé signé par une autorité de certification pour continuer à travailler avec NSX Application Platform et les fonctionnalités de NSX qu'il héberge.

Cause

L'expiration par défaut d'un certificat signé par une autorité de certification est de 825 jours. Les certificats auto-signés du système sont automatiquement renouvelés. Si vous importez un certificat signé par une autorité de certification personnalisée, vous devez maintenir le cycle de vie de ce certificat. Si vous oubliez de le renouveler, la connexion entre NSX Application Platform et le dispositif unifié NSX Manager sera interrompue et vous ne pourrez pas continuer à travailler avec les fonctionnalités NSX Application Platform et NSX qu'il héberge.

Solution

  1. Connectez-vous au dispositif NSX Manager en tant qu'utilisateur racine.
  2. Déléguez à un certificat auto-signé signé par une autorité de certification à l'aide de la commande kubectl suivante à l'invite de commande 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. Attendez environ 30 secondes, puis exportez le certificat de sortie en entrant les commandes suivantes kubectl et cat à l'invite du système NSX Manager, une à la fois.
    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. Importez le gress.crt dans l'application NSX Manager à l'aide de l'interface utilisateur et obtenez l'UUID de certificat.
    1. Dans le navigateur, connectez-vous avec des privilèges d'administrateur d'entreprise à un dispositif NSX Manager sur https://<nsx-manager-ip-address>.
    2. Accédez à Système > Certificats, cliquez sur Importer et sélectionnez Certificat dans le menu déroulant.
    3. Entrez un nom pour le certificat.
    4. Définissez Certificat de service sur Non.
    5. Dans la zone de texte Contenu du certificat, collez le contenu du fichier egress.crt que vous avez créé à l'étape précédente.
    6. Cliquez sur Enregistrer.
    7. Dans le tableau Certificats, développez la ligne du certificat récemment ajouté et copiez la valeur de l'ID de certificat.
  5. De retour dans la session d'utilisateur racine du dispositif NSX Manager, obtenez l'UUID de PricinpleIdentity cloudnative_platform_egress à l'aide de la commande curl suivante à l'invite du système.
    system prompt> curl -ku 'admin:yourAdminPassword' https://127.0.0.1/api/v1/trust-management/principal-identities
  6. Liez l'entité PrincipleIdentity à l'ID de certificat importé, à l'aide de la commande curl suivante à l'invite du système.
    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>"}'