vSphere IaaS control plane 环境中配置 NSX Advanced Load Balancer 时,请务必牢记一些注意事项。

在以下情况下,输入不会从 NSX Advanced Load Balancer 获取外部 IP:
  • 未在输入配置中指定主机名。
  • 为输入配置了 defaultBackend 配置选项,而不是主机名。
默认情况下,Kubernetes 中的输入资源必须在控制器配置中定义主机名,才会为其分配外部 IP。这是必需操作,因为 NSX Advanced Load Balancer 使用虚拟主机处理创建的与 Kubernetes 输入对应的虚拟服务中的流量。有关 defaultBackend 配置选项的详细信息,请参见 https://kubernetes.io/docs/concepts/services-networking/ingress/#default-backend

如果某个输入与不同命名空间中的输入具有相同的主机名,则该输入不会从 NSX Advanced Load Balancer 获取外部 IP。默认情况下,NSX Advanced Load Balancer 为每个命名空间分配唯一的 VIP,这意味着单个命名空间中的所有输入共用同一个 VIP。因此,会为不同命名空间中的两个输入分配不同的 VIP。但是,如果它们具有相同的主机名,DNS 服务器将不知道要将主机名解析为哪个 IP 地址。