您导入的 CA 签名证书已过期。

问题

您导入到 NSX Manager 设备主机的 CA 签名证书已过期,您无法继续使用 NSX Application Platform。您必须委派一个自签名 CA 签名证书才能继续使用 NSX Application Platform 及其托管的 NSX-T Data Center 功能。

原因

CA 签名证书的默认过期时间为 825 天。系统自签名证书自动进行续订。如果导入自定义 CA 签名证书,则需要维护该证书的生命周期。如果您忘记续订该证书,NSX Application PlatformNSX Manager Unified Appliance 之间的连接将中断,您无法继续使用 NSX Application Platform 及其托管的 NSX 功能。

解决方案

  1. 以 root 用户身份登录到 NSX Manager 设备。
  2. NSX Manager 命令提示符下,使用以下 kubectl 命令委派一个自签名 CA 签名证书。
    system prompt> kubectl patch certificate ca-cert -n cert-manager --type='json' -p='[{"op": "replace", "path": "/spec/secretName", "value":"ca-key-pair"}]'
  3. 等待大约 30 秒,然后在 NSX Manager 系统提示符下输入以下 kubectlcat 命令以导出输出证书(每次导出一个)。
    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. 使用用户界面将 egress.crt 导入到 NSX Manager 设备并获取证书 UUID。
    1. 从浏览器中,使用企业管理员特权登录到 NSX Manager,网址为 https://<nsx-manager-ip-address>。
    2. 导航到系统 > 证书,单击导入,然后从下拉菜单中选择证书
    3. 输入证书的名称。
    4. 服务证书设置为
    5. 证书内容文本框中,粘贴您在上一步中创建的 egress.crt 文件的内容。
    6. 单击保存
    7. 在“证书”表中,展开新添加的证书的行并复制证书 ID 值。
  5. 返回到 NSX Manager 设备 root 用户会话,在系统提示符下使用以下 curl 命令获取 PricinpleIdentity cloudnative_platform_egress UUID。
    system prompt> curl -ku 'admin:yourAdminPassword' https://127.0.0.1/api/v1/trust-management/principal-identities
  6. 在系统提示符下,使用以下 curl 命令将 PrincipleIdentity 与导入的证书 ID 绑定在一起。
    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>"}'