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

问题

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

原因

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>"}'