Kubernetes 服务 - 使用 NodePort 或 LoadBalancer 哪种类型?

时间:2021-01-28 10:36:04

标签: docker kubernetes containers azure-aks kubernetes-pod

我已经阅读了很多关于服务(NodePort 和 LB)https://kubernetes.io/docs/concepts/services-networking/service/ 的文章,但我仍然对使用什么感到进退两难。 我在 Azure 中有 AKS 集群。在同一个虚拟网络中,我在集群外有虚拟机,它应该针对特定的应用程序,端口 9000 上的容器 pod。 容器 pod 中的应用程序正在端口 9000 上运行。 我有两个选择:

  • 在 30000-32767 范围内的某个端口上将该服务公开为 NodePort,假设为 30001,但在这种情况下,我必须更改所有不应以它们为目标的外部虚拟机和应用程序,并连接到端口 9000,这是此应用程序的常规端口但是这个新的端口 30001 对于这个应用来说真的很奇怪
  • 在 Azure 中将该服务公开为负载均衡器(我可以这样做,因为它是云平台,但我不喜欢那样,在那种情况下它会通过公共地址公开我的服务。这非常糟糕,我不想要这个可通过公共 IP 地址从互联网访问。

我真的很困惑我应该选择什么。 我将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:3)

创建只能在虚拟网络中访问的 Internal Load Balancer 是一个不错的选择。