要对 NSX Advanced Load Balancer 问题进行故障排除,可以收集支持包。VMware 技术支持可能会要求提供支持包。

生成支持包时,将获得可下载的调试日志的单个文件。

过程

  1. NSX Advanced Load Balancer Controller仪表板中,单击左上角的菜单,然后选择系统管理
  2. 系统管理部分中,选择系统
  3. 系统屏幕中,选择技术支持
  4. 要生成诊断包,请单击生成技术支持
  5. 生成技术支持窗口中,选择调试日志类型,然后单击生成
  6. 生成包后,单击下载图标将其下载到您的计算机。
    有关收集日志的详细信息,请参见 https://avinetworks.com/docs/21.1/collecting-tech-support-logs/

不会应用 NSX Advanced Load Balancer 配置

部署主管时,部署不会完成,并且不会应用 NSX Advanced Load Balancer 配置。

问题

如果提供私有证书颁发机构 (CA) 签名的证书,则不会应用 NSX Advanced Load Balancer 的配置。

您可能会在主管上运行的某个 NCP Pod 的日志文件中看到“Unable to find certificate chain”错误消息。

  1. 登录到主管虚拟机。
  2. 使用 kubectl get pods -A 命令列出所有 Pod
  3. 主管上的所有 NCP Pod 获取日志。

    kubectl -n vmware-system-nsx logs nsx-ncp-<id> | grep -i alb

原因

Java SDK 用于在 NCP 和 NSX Advanced Load Balancer Controller 之间建立通信。当 NSX 信任存储与 Java 证书信任存储不同步时,会发生此错误。

解决方案

  1. NSX Advanced Load Balancer 导出根 CA 证书,并将其保存在 NSX Manager 中。
  2. 以 root 用户身份登录 NSX Manager
  3. 在所有 NSX Manager 节点上按顺序运行以下命令:
    keytool -importcert -alias startssl -keystore /usr/lib/jvm/jre/lib/security/cacerts -storepass changeit -file <ca-file-path>

    如果未找到路径,请运行 keytool -importcert -alias startssl -keystore /usr/java/jre/lib/security/cacerts -storepass changeit -file <ca-file-path>

    sudo cp <ca-file-path> /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    service proton restart
    注: 您可以执行相同的步骤来分配中间 CA 证书。
  4. 等待主管部署完成,如果部署不成功,请重新部署。

ESXi主机无法进入维护模式

要执行升级时,需要将 ESXi 主机置于维护模式。

问题

ESXi 主机无法进入维护模式,可能会影响 ESXiNSX 升级。

原因

如果 ESXi 主机上的服务引擎处于打开电源状态,则可能会出现这种情况。

解决方案

  • 关闭服务引擎的电源,以便 ESXi 主机进入维护模式。

对 IP 地址问题进行故障排除

如果遇到外部 IP 分配问题,请按照以下故障排除提示进行操作。

IP 地址问题可能会由以下原因引起:
  • Kubernetes 资源(如网关和输入)不会从 AKO 获取外部 IP。
  • 无法访问分配给 Kubernetes 资源的外部 IP。
  • 未正确分配的外部 IP。

Kubernetes 资源无法从 AKO 获取外部 IP

当 AKO 无法在 NSX Advanced Load Balancer Controller 中创建相应的虚拟服务时,会发生此错误。

检查 AKO Pod 是否正在运行。如果 Pod 正在运行,请检查 AKO 容器日志以查看错误。

分配给 Kubernetes 资源的外部 IP 无法访问

此问题可能由于以下原因导致:
  • 外部 IP 不立即可用,而是在创建后的几分钟内开始接受流量。触发为虚拟服务放置新建服务引擎的操作时,会出现此问题。
  • 外部 IP 不可用,因为相应的虚拟服务显示错误。

如果池中没有服务器,虚拟服务可能会指示错误或显示为红色。如果 Kubernetes 网关或输入资源未指向端点对象,则可能会出现这种情况。

要查看端点,请运行 kubectl get endpoints -n <servce_namespace> 命令并修复任何选择器标签问题。

运行状况监控器将池服务器的运行状况显示为红色时,池可能会显示处于错误状态。

要解决此问题,请执行以下步骤之一:
  • 验证池服务器或 Kubernetes Pod 是否正在配置的端口上进行侦听。
  • 确认 NSX DFW 防火墙中没有丢弃规则正在阻止服务引擎上的输入流量或输出流量。
  • 确保 Kubernetes 环境中没有网络策略正在阻止服务引擎上的输入流量或输出流量。
服务引擎问题包括:
  1. 创建服务引擎失败。
    由于以下原因,创建服务引擎可能会失败:
    • NSX Advanced Load Balancer Controller 使用了资源不足的许可证。
    • 在服务引擎组中创建的服务引擎数已达到最大限制。
    • 服务引擎数据网卡无法获取 IP。
  2. 服务引擎创建失败,并显示“Insufficient licensable resources available”错误消息。

    如果用于创建服务引擎的许可证的资源不足,则会发生此错误。

    获取具有更大资源配额的许可证,并将其分配给 NSX Advanced Load Balancer Controller

  3. 服务引擎创建失败,并显示“Reached configuration maximum limit”错误消息。

    如果在服务引擎组中创建的服务引擎数已达到最大限制,则会发生此错误。

    要解决此错误,请执行以下步骤:
    1. NSX Advanced Load Balancer Controller 仪表板中,选择基础架构 > 云资源 > 服务引擎组
    2. 找到与发生 IP 流量故障的 主管 同名的服务引擎组,然后单击编辑图标。
    3. 服务引擎数配置更高的值。
  4. 服务引擎数据网卡无法获取 IP。
    如果 DHCP IP 池由于以下原因之一而耗尽,可能会发生此错误:
    • 为大规模部署创建了过多服务引擎。
    • 直接从 NSX Advanced Load Balancer UI 或 vSphere Client 中删除服务引擎。以这种方式删除服务引擎不会从 DHCP 池中释放 DHCP 地址,并会导致租约分配失败。

外部 IP 分配不正确

当不同命名空间中的两个输入共享同一主机名时,会出现此错误。检查配置,并确认没有为不同命名空间中的两个输入指定相同的名称。

对流量故障问题进行故障排除

配置 NSX Advanced Load Balancer 后,会出现流量故障。

问题

当 LB 类型服务的端点位于不同的命名空间中时,可能会出现流量故障。

原因

在配置了 NSX Advanced Load BalancervSphere IaaS control plane 环境中,命名空间具有一个专用 Tier-1 网关,并且每个 Tier-1 网关都有一个具有相同 CIDR 的服务引擎分段。如果 NSX Advanced Load Balancer 服务位于一个命名空间中,而端点位于不同的命名空间中,则可能会出现流量故障。出现此故障的原因是,NSX Advanced Load Balancer 为服务分配了一个外部 IP,而传输到该外部 IP 的流量失败。

解决方案

  • 要允许南北向流量,请创建一个分布式防火墙规则,允许从 NSX Advanced Load Balancer 服务命名空间的 SNAT IP 输入。

NSX 备份和还原引起的问题进行故障排除

NSX 备份和还原可能会导致 NSX Advanced Load Balancer 提供的所有外部 IP 出现流量故障。

问题

NSX 执行备份和还原时,可能会导致出现流量故障。

原因

出现此故障的原因是,服务引擎网卡在还原后未恢复运行,从而导致 IP 池显示为关闭。

解决方案

  1. NSX Advanced Load Balancer Controller 仪表板中,选择基础架构 >
  2. 选择并保存云,而不进行任何更改,然后等待状态变为绿色。
  3. 停用所有虚拟服务。
    等待 NSX Advanced Load Balancer Controller 从所有服务引擎中移除失效的网卡。
  4. 启用所有虚拟服务。
    虚拟服务的状态将显示为绿色。
    如果流量故障仍然存在,请重新配置 NSX Manager 上的静态路由。

NSX 备份和还原后失效的 Tier-1 分段

NSX 备份和还原可以还原失效的 Tier-1 分段。

问题

NSX 备份和还原过程完成后,不会清理具有服务引擎网卡的失效 Tier-1 分段。

原因

NSX 备份后删除命名空间时,还原操作会还原与 NSX Advanced Load Balancer Controller 服务引擎网卡关联的失效 Tier-1 分段。

解决方案

  1. 登录到 NSX Manager
  2. 选择网络 > 分段
  3. 查找与已删除命名空间关联的失效分段。
  4. 端口/接口部分中删除失效的服务引擎网卡。