适用场景
- 产品:ZStack Cloud。
- 版本:所有将 VPC vRouter(VPC 路由器)镜像部署为定制云主机的版本。
- 组件:VPC vRouter、VPC 管理网络、ZStack 管理节点(8080 端口)、管理网络之间的安全策略 / 防火墙。
- 触发条件:VPC vRouter 创建反复超时,且
zvr.log中报出 VPC 路由器无法访问管理节点 8080 端口。
问题现象
- 在 UI 中创建 VPC vRouter 超时。
- 管理节点与 VPC 路由器管理 IP 之间的 TCP 22、7272 端口可达。
- VPC 路由器上的
zvr.log报出无法连接管理节点 8080 端口。
判断方法
- 在管理节点上,确认到 VPC 路由器管理 IP 的 22、7272 端口可达:
# telnet <vpc-router-management-ip> 22
# telnet <vpc-router-management-ip> 7272
- 登录 VPC 路由器并查看
zvr.log,确认日志中明确报出连接管理节点 8080 端口失败。 - 确认云平台管理网络与 VPC 管理网络之间的防火墙或安全策略阻断了 8080 端口。
原因说明
VPC vRouter 必须通过 TCP 8080 端口与 ZStack 管理节点通信,以完成注册和拉取配置。若 VPC 管理网络与云平台管理网络之间的网络防火墙或安全策略阻断了该端口,则 vRouter 无法与管理节点完成握手,进而导致创建超时。
解决方案
1. 执行前准备
- 明确云平台管理网络与 VPC 管理网络的 IP 地址段。
- 明确位于二者之间的防火墙或安全策略设备。
- 与安全策略的责任人沟通,争取变更窗口。
2. 处理步骤
步骤 1. 放通 VPC 管理网络与云平台管理网络之间的 8080 端口
调整防火墙 / 安全策略,放通来自 VPC 管理网络、目标为云平台管理网络的 TCP 8080 端口流量。平台管理网络与 VPC 管理网络之间必须可以互通。
步骤 2. 规划设计 VPC 管理网络,避免后续冲突
VPC 管理网络必须可路由至云平台管理网络。不要复用公有网络作为 VPC 管理网络。两种推荐的网络拓扑:
- 场景 1 —— 与物理机管理网络规划在同一网段(二层互通)。 物理机管理 IP 配置在
br_bond0上。在平台上基于bond0创建二层网络(L2NoVlanNetwork),然后基于该二层网络创建 VPC 管理网络。 - 场景 2 —— 与物理机管理网络规划在不同网段(需要三层互通)。 物理机管理 IP 配置在
br_bond0上。在平台上基于bond0创建二层网络(L2VlanNetwork),然后基于该二层网络创建 VPC 管理网络。对于三层互通场景,平台会自动向 VPC 路由器下发物理机管理网络的明细路由。
步骤 3. 重新尝试创建 VPC 路由器
在 UI 中重新执行 VPC vRouter 创建任务,并确认在超时时间内完成。
验证方法
- VPC vRouter 创建在 UI 中成功完成。
zvr.log不再报出 8080 端口的连接失败。- 从管理节点 telnet VPC 路由器管理 IP 的 8080 端口成功。
- vRouter 可以向管理节点注册,并正常承载 VPC 业务流量。
风险与回滚
- VPC 管理网络与云平台管理网络之间的 TCP 8080 端口是 vRouter 运行的必要条件,若收回该策略将导致 VPC 功能不可用。
- VPC 管理网络的调整应提前规划,避免影响物理机管理网络。
