Kubernetes 服务 - 使用 NodePort 或 LoadBalancer 的类型?
Kubernetes Service - which type to use NodePort or LoadBalancer?
我已经阅读了很多关于服务(NodePort 和 LB)的文章https://kubernetes.io/docs/concepts/services-networking/service/,但我仍然不知道该使用什么。
我在 Azure 中有 AKS 集群。在同一个虚拟网络中,我在集群外部有一个 VM,它应该针对特定的应用程序,端口 9000 上的容器 pod。
容器 pod 中的应用程序正在 运行 端口 9000 上。
我有两个选择:
- 在 30000-32767 范围内的某个端口上将该服务作为 NodePort 公开,比方说 30001,但在这种情况下,我必须更改我所有的外部 VM 和应用程序,它们不应作为目标并连接到端口 9000,这是常规端口这个应用程序但是这个新端口 30001 对于这个应用程序来说真的很奇怪
- 在 Azure 中将该服务公开为负载均衡器(我可以这样做,因为它是云平台,但我不喜欢那样,在那种情况下它会通过 Public 地址公开我的服务。这非常糟糕,我不希望通过 public IP 地址从 Internet 访问它。
我真的很困惑我应该选择什么。
我将不胜感激。
谢谢
创建只能在虚拟网络中访问的 Internal Load Balancer 是一个不错的选择。
我已经阅读了很多关于服务(NodePort 和 LB)的文章https://kubernetes.io/docs/concepts/services-networking/service/,但我仍然不知道该使用什么。 我在 Azure 中有 AKS 集群。在同一个虚拟网络中,我在集群外部有一个 VM,它应该针对特定的应用程序,端口 9000 上的容器 pod。 容器 pod 中的应用程序正在 运行 端口 9000 上。 我有两个选择:
- 在 30000-32767 范围内的某个端口上将该服务作为 NodePort 公开,比方说 30001,但在这种情况下,我必须更改我所有的外部 VM 和应用程序,它们不应作为目标并连接到端口 9000,这是常规端口这个应用程序但是这个新端口 30001 对于这个应用程序来说真的很奇怪
- 在 Azure 中将该服务公开为负载均衡器(我可以这样做,因为它是云平台,但我不喜欢那样,在那种情况下它会通过 Public 地址公开我的服务。这非常糟糕,我不希望通过 public IP 地址从 Internet 访问它。
我真的很困惑我应该选择什么。 我将不胜感激。
谢谢
创建只能在虚拟网络中访问的 Internal Load Balancer 是一个不错的选择。