您可以配置负载平衡服务以省略分配节点端口,前提是云提供商实现支持此功能。一些云提供商允许您指定loadBalancerIP。在这些情况下,使用用户指定的创建负载均衡器loadBalancerIP。如果未指定 loadBalancerIP 字段,则使用临时 IP 地址设置负载均衡器。如果您指定了 loadBalancerIP 但您的云提供商不支持该功能,则您设置的 loadbalancerIP 字段将被忽略。
LoadBalancer 服务将包含与 NodePort 服务相同的信息,但添加了负载均衡器的 IP 地址,该地址可以在status.loadblancer.ingress字段下找到。但是,此 IP 地址与分配给 clusterIP 的值不同,并且 nodePort 与到达负载均衡器无关。客户端将改用负载均衡器 IP 地址和端口来到达服务后面的容器。
LoadBalancer 的服务类型取决于云提供商。在某些情况下,如果您不指定节点端口,则负载均衡器将自动分配节点端口。
来自kubernetes官方文档:
LoadBalancer 服务将包含与 NodePort 服务相同的信息,但添加了负载均衡器的 IP 地址,该地址可以在
status.loadblancer.ingress
字段下找到。但是,此 IP 地址与分配给 clusterIP 的值不同,并且 nodePort 与到达负载均衡器无关。客户端将改用负载均衡器 IP 地址和端口来到达服务后面的容器。因此,这两种方法都是正确的,可以根据您的用例使用。查看此禁用负载均衡器 NodePort 分配文档以获取更多信息。