【问题标题】:Kubernetes Service - which type to use NodePort or LoadBalancer?Kubernetes 服务 - 使用 NodePort 或 LoadBalancer 的类型?
【发布时间】:2021-05-02 05:53:10
【问题描述】:

我已经阅读了很多关于服务(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 中将该服务公开为负载均衡器(我可以这样做,因为它是云平台,但我不喜欢那样的话,它会通过公共地址公开我的服务。这非常糟糕,我不想这样做可以通过公共 IP 地址从 Internet 访问。

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

谢谢

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 哇!谢谢瓦西里!它知道它是基于此设置(注释)service.beta.kubernetes.io/azure-load-balancer-internal: "true" 正确的“内部”吗?
    • 对,你应该在创建负载均衡器的时候指定这个注解。
    • 再次感谢您的精彩回复。我将其标记为响应 :-) 作为替代方案我在想是否有可能以某种方式将端口 9000 用于 NodePort,但除了正在使用的默认范围 30000-32767 之外,我没有看到配置其他端口的选项。是否有这样的选项可以为 NodePort 配置端口 9000?谢谢
    • 不,不可能。
    猜你喜欢
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    相关资源
    最近更新 更多