当前位置: 首页 > 知识库问答 >
问题:

Kubernetes(AKS):将不同服务的多个端口公开给公共负载平衡器

谯嘉懿
2023-03-14

我正在Azure上设置Kubernetes集群(使用AKS)来托管Elasticsearch、Kibana、自定义api、UI、nginx等。

由于我不希望每个服务都有单独的公共IP,因此我需要一种方法来设置一个公共负载平衡器/入口,然后只需在其中添加端口号并设置路由

我尝试使用stackoverflow问题中提到的方法-如何在kubernetes中使用负载平衡器服务公开多个端口,但没有成功。

由于有技术客户端连接到我的集群,所以我需要为每种技术提供服务。

基本上,我需要公开9200, 5601, 80-都在同一个IP上,但在使用端口访问IP时,用户必须被重新引导到适当的技术服务。

下面是我正在寻找的配置示例。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: myingress
spec:
  rules:
  - host: myurl.domain.com
    http:
      paths:
      - path: /
        backend:
          serviceName: elasticsearch
          servicePort: 9200
      - path: /
        backend:
          serviceName: kibana
          servicePort: 5602

有什么想法吗?

共有3个答案

黄英韶
2023-03-14

对不起,我又发了一个类似的问题。最终能够通过简单的标记解决问题。

无需额外工具/代码。

答案请参考我的帖子:库伯内特斯:在内部公开多个服务

孟财
2023-03-14

我刚刚在TCP模式下使用HAProxy入口控制器(https://github.com/helm/charts/tree/master/incubator/haproxy-ingress)在邮件服务器项目上完成了此操作。工作愉快。工作配置可以在https://github.com/funkypenguin/docker-mailserver/blob/fa9bd9c9ed9b66aa6ee1c36ca19a73c558682f24/helm-chart/docker-mailserver/values.yaml#L300找到

D.

严柏
2023-03-14

对于您的问题,入口是您想要的。您可以根据需要创建所有服务。并公开服务的端口。然后使用公共IP创建入口,并创建将访问从入口路由到后端服务的入口路由。

看看Azure Kubernetes服务(AKS)中创建入口控制器的示例。它将向您展示需要执行的步骤。如果你有更多的问题,请告诉我。

 类似资料:
  • 堆栈:Azure Kubernetes服务 NGINX Ingress Controller-https://github.com/Kubernetes/ingress-nginx AKS LoadBalancer Docker容器 我的目标是创建一个K8s集群,它将允许我在一个IP下使用多个POD,创建一个微服务架构。在使用了大量的教程和文档之后,我的EndGoal没有任何运气。我已经到了能够使

  • 试图自学如何使用库伯内特斯,但有一些问题。 我的下一步是尝试使用LoadBalancer类型的服务来访问nginx。 我建立了一个新的集群并部署了nginx映像。 然后,我为LoadBalancer设置服务 设置完成后,我尝试使用LoadBalancer入口(我在描述LoadBalancer服务时发现)访问nginx。我收到一个此页面无法工作的错误。 不太确定我哪里出错了。 kubectl获得sv

  • 我在Kubernetes中创建了2个服务,在GCP中创建了2个内部负载平衡器。事情进展顺利。 如何将2个服务指向同一个负载均衡器? 我使用了下面的yml文件,服务不起作用。 loadBalancerIP需要实际的loadbalancer IP。 创建负载平衡器时出错(将重试):无法确保服务默认的负载平衡器/示例应用程序:请求的ip“XX.XX.XX.XX”既不是静态的,也没有分配给LB

  • 根据它的文档,citrix-ingress似乎允许这样做,但我们有很多问题让它工作。 有没有什么我们可能错过的方法可以做到这一点?想要确保我们没有错过一些明显的东西。

  • 介绍: 在AWS上,负载均衡器很昂贵(20美元/月的使用量),所以我正在寻找一种方法来实现k8s节点之间的灵活负载均衡,而无需支付这笔费用。负载没那么大,所以我不需要AWS负载均衡器的可扩展性。我只需要服务是HA。我可以以3.5美元/月的价格获得一个小型EC2实例,它可以轻松处理当前的流量,所以我现在正在追逐这个选择。 当前设置 目前,我已经设置了一个常规的独立Ngin x实例(k8s之外),在我

  • 在Kubernetes中创建负载平衡器类型的服务时,它是创建一个全新的外部负载平衡器,还是只为负载平衡器类型的第一个服务创建一个负载平衡器,并将该负载平衡器重新用于负载平衡器类型的所有后续服务? 这个问题特别重要,因为为每个服务构建一个单独的负载平衡器对我来说成本太高。 如果它特定于云提供商,我使用Azure,但我很想知道其他云提供商是否不同。