NSX Manager证书替换
-
目标概述
现网环境NSX-T Federation3.2.1中,自签证书过期,导致GM与LM之间部分组件无法正常连线,但不影响环境中ESXI主机和虚拟机的运行。
-
环境信息
过期证书统计:
Name | Type | Issued To | Issued By | Number |
8de8* | Self signed | local-manager | local-manager | 1 |
d9e1* | Self signed | local-manager | local-manager | 1 |
b0c1* | Self signed | global-manager | global-manager | 1 |
GlobalManager | Self signed | global-manager | global-manager | 1 |
mp-cluster | Self signed cent with private key | abc01-nsxgm.local.com | abc01-nsxgm.local.com | 1 |
tomcat | Self signed cent with private key | abc01-nsxgm.local.com | abc01-nsxgm.local.com | 1 |
tomcat | Self signed cent with private key | abc02-nsxgm.local.com | abc02-nsxgm.local.com | 1 |
tomcat | Self signed cent with private key | abc03-nsxgm.local.com | abc03-nsxgm.local.com | 1 |
Site certificate | Self signed*12 | abc01-nsxlm.local.com | abc01-nsxlm.local.com | 2 |
Site certificate | Self signed*12 | abc02-nsxlm.local.com | abc02-nsxlm.local.com | 1 |
Site certificate | Self signed*12 | abc03-nsxlm.local.com | abc03-nsxlm.local.com | 1 |
Site certificate | Self signed*12 | abc01-nsxgm.local.com | abc01-nsxgm.local.com | 2 |
Site certificate | Self signed*12 | abc02-nsxgm.local.com | abc02-nsxgm.local.com | 1 |
Site certificate | Self signed*12 | abc03-nsxgm.local.com | abc03-nsxgm.local.com | 1 |
Site certificate | Self signed*12 | abc01-nsxlm.local.com | abc01-nsxlm.local.com | 2 |
Site certificate | Self signed*12 | abc02-nsxlm.local.com | abc02-nsxlm.local.com | 1 |
Site certificate | Self signed*12 | abc03-nsxlm.local.com | abc03-nsxlm.local.com | 1 |
-
证书替换思路
- 操作之前记录过期证书上的信息。
- 操作当天确保已有NSX的有效备份记录。
- 替换证书成功之后,暂时保留旧的证书,必要时可以回退,待稳定观察一周后再删除过期证书。
- 验证NSX网络、应用访问等业务。
风险及时间评估
影响范围:
根据二线确认替换证书本身不会影响ESXI主机和虚拟机的运行。建议操作前确保有一份成功的NSX备份。
时间预估:
略
证书替换实施(示例)
重置证书需要用到postman工具,然后在进行更新操作
5.1 配置 postman
创建一个新的Environment:
添加如下参数:
应用配置的变量:
右上角应用配置的变量:
TYPE 选择【Basic Auth】:
参考结果:
5.2使用GET查看所有证书API:
GET https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=validate
本次替换为3.2.1环境
5.3 替换tomcat证书:(也就是类型是API的证书)
生成CSR:
按照已有的tomcat证书填写,特别注意Commmon Name是nsx manager的FQDN(如果三个nsx manager,那么要为每个nsx manager分别生成。)
生成自签名证书:
Service Certificate要选No:
新生成的证书在这里:记录下UUID=0a111c12-c628-4aed-8c31-b5de3202xxxx
替换证书:
用
POST https://<nsx-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=API&node_id=e61c7537-3090-4149-b2b6-19915c20504f
随后新开页面访问nsx manager,查看证书和证书过期时间,替换成功。
成功应用后使用postman get证书的结果:
GET https://<nsx-mgr>/api/v1/trust-management/certificates/0a111c12-c628-4aed-8c31-b5de3202d603
5.4替换mp-cluster证书:
照着已有的mp-cluster证书内容填写CSR,再生成自签名证书,使用postman执行如下API,其中ip为nsx manager vip:
POST https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=MGMT_CLUSTER
生成之后但是还没应用的证书:
应用之后:
5.5替换Local Manager证书:(Local Manager证书用于NSX federation)
照着已有的Local Manager证书内容填写CSR,再生成自签名证书。
3.1版本:使用root账户ssh到nsx manager,执行如下curl命令:其中100.80.80.240为nsx manager vip,password替换成admin密码:
curl -k -u 'admin:password' -H "Content-Type: application/json" -X POST https://100.80.80.42.240/api/v1/trust-management/certificates?action=set_pi_certificate_for_federation -d '{ "cert_id": "233166d4-28b5-407c-b3ce-db31b546a2fb","service_type": "LOCAL_MANAGER"}'
3.2版本:
POST https://<local-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=LOCAL_MANAGER
5.6使用API替换GM证书
POST https://<global-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=GLOBAL_MANAGER
证书替换API命令汇总:
使用API替换GM(GlobalManager)证书
POST
https://<global-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=GLOBAL_MANAGER
使用API替换LM(LocalManager)证书
POST https://<local-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=LOCAL_MANAGER
使用API替换集群(mp-cluster)证书
POST
https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=MGMT_CLUSTER
使用API替换管理节点(tomcat)证书
POST https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=API&node_id=<node-id>
回退步骤
将备份还原:
- 安装新的 GM-VM,其 IP 地址与丢失的 GM-Loc1-Active 服务器相同。使用 NSX Manager OVA(从而创建 GM-Loc1)。确保先删除活动服务器,然后再执行该安装。有关说明,请参见NSX 安装指南。
- 在安装后,访问 UI 并选择系统 > 备份和还原,然后:
- 输入存储备份的 SFTP 服务器的信息。
- 选择最新的备份文件。
- 单击还原