Kubernetes:在内部和外部公开多个服务

Kubernetes: Expose multiple services internally & externally

我正在为我的集群使用 AKS

场景: 我们有多个 API(比如 svc1、svc2 和 svc3 可在端口 101、102、103 上访问)。 这些 API 链接需要向客户端公开,并且也在应用程序内部使用。

问题: 我想将其暴露给同一端口上的外部和内部负载均衡器。 此外,当我在内部访问服务时,我希望可以通过服务名称访问它们(示例:svc1:101)

在 Kubernetes 中:

  • 如果你想只在内部公开一些东西,你应该使用ClusterIP服务类型
  • 如果你想同时公开内部和外部,请使用 LoadBalancer(或 NodePort)服务类型。

请查看Kubernetes: Service Types了解更多详情。

好吧,我能够在不使用 NodePort/ClusterIP 的情况下解决问题。

解决方案非常简单,但似乎没有记录。

我们唯一需要做的就是拥有多个标签,其中 1 个标签与外部负载均衡器的标签相同,而其他标签与您具有相同的匹配服务。

这会将您的副本集映射到服务和外部负载均衡器。

详细答案可在 - https://www.linkedin.com/pulse/exposing-multiple-portsservices-same-load-balancer-sunil-agarwal