简述:
如上图所示,本环境中此次将有三个类型的证书即将到期需要替换:
1.NSX Manager 群集/VIP(mp-cluster) 证书 – 与群集虚拟 IP 一起使用,每个群集一个证书;
用于与全局管理器或本地管理器集群的 VIP 之间的 UI/API 通信。
2.NSX 管理器节点Tomcat证书 – 此证书用于单个管理节点 IP,用于全局管理器和每个本地管理器。
用于与单个全局管理器以及添加到全局管理器的每个位置的本地管理器节点之间的 UI/API 通信。
(本环境中共有三个管理节点:Manager01/Manager02/Manager03)。
3.NSX 联合身份验证 PI(LocalManager)证书- 在 NSX 全局管理器和本地管理器之间使用;
用于本地管理器,该特定本地管理器的 PI 证书。
本文将介绍使用NSX自签名方式替换即将到期的证书。
一、生成自签名证书
从浏览器中,使用管理员特权登录到 NSX Manager,网址为 https://<nsx-manager-ip-address>。
选择系统 > 证书。
单击 CSR 选项卡。
单击生成 CSR。
填写 CSR 文件详细信息。
单击生成。
自定义 CSR 将显示为一个链接。
选择一个 CSR。
选择操作 > CSR 的自签名证书。
输入自签名证书的有效天数。
默认值为 825 天。即使您对以前生成的自签名证书更改此值,每次生成新证书时也会显示默认值。
单击添加。
结果
自签名证书将显示在证书选项卡中。
二、替换证书
使用管理员特权登录到 NSX Manager,选择选择”系统 > 证书“,定位到需要替换的证书ID所在的单元格,双击可查看完整ID。
替换之前可通过进行以下 API 调用来验证证书是否有效:GET https://<nsx-mgr>/api/v1/trust-management/certificates/<certificate-id>?action=validate
打开”ApiPost7“工具(下载地址)
将API更改为”POST“,地址输入
https://<nsx-mgr>/api/v1/trust-management/certificates?action=set_pi_certificate_for_federation
Header选项卡中将参数名(Key)更改为“Content-Type”,参数值(Value)更改为”application/json”
Body选项卡中选中”Raw“并将数据类型修改为”json“
下方正文中填入:
{ "cert_id": "<certificate-id>","service_type":"LOCAL_MANAGER"}
认证选项卡中选择基本身(Basic auth)份认证并填入NSX Manager管理员账号密码
配置完成并确保正确后点击”发送“按钮
验证环节:
如果替换成功在新版本的NSX Manager UI中使用位置(Where Used)列中将会新生成的证书将会被标记。
在不存在”使用位置“的早期版本中可通过API获取证书的使用情况
例如:
获取所有证书:
https://<nax-mgr>/api/v1/trust-management/certificates
获取单个证书:
https://<nax-mgr>/api/v1/trust-management/certificates/<certificate-id>
观察返回结果中”used_by“-“node_id” 节点的UUID将会替换成新生成的证书
证书替换完成后在NSX Manager UI中旧的证书如确认不再使用可将其删除,如证书仍然被使用则删除将报告被MP节点使用错误:
其他证书的生成和替换请重复上述步骤。
可以root用户登录任意管理节点执行替换命令或使用”ApiPost“工具
替换管理节点证书:
curl -k -u admin:password -X POST "https://<nax-mgr>/api/v1/node/services/http?action=apply_certificate&certificate_id=<certificate-id>"
替换管理集群IP证书:
curl -k -u admin:password -X POST "https://<nax-mgr>/api/v1/cluster/api-certificate?action=set_cluster_certificate&certificate_id=<certificate-id>"
要替换 NSX 联合的主体身份证书(暨LOCAL_MANAGER证书),请使用以下 API 调用:
POST https://<nsx-mgr>/api/v1/trust-management/certificates?action=set_pi_certificate_for_federation
。
例如:
POST https://<nsx-mgr>/api/v1/trust-management/certificates?action=set_pi_certificate_for_federation
{ "cert_id": "<id>",
"service_type": "LOCAL_MANAGER" }
至此,证书替换完成。
CA签名方式替换NSX-T证书请参考连接:
暂无评论内容