我正在Azure上设置Kubernetes集群(使用AKS)来托管Elasticsearch、Kibana、自定义api、UI、nginx等。
因为我不希望每个服务都有单独的公共IP,所以我需要一种方法来设置一个通用的负载均衡器/入口,然后只需在其中添加端口号并设置路由。
我试着使用这个堆栈溢出问题中提到的方法- How to expose multiple port using a load balancer services in 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有什么想法吗?
发布于 2020-11-12 23:28:04
抱歉,我又发了一个类似的问题。最终能够用简单的标签解决问题。
不需要额外的工具/代码。
请参考我的帖子以获得答案:Kubernetes: Expose multiple services internally & externally
发布于 2019-04-16 14:14:43
有了你的问题,入口就是你想要的。您可以随心所欲地创建所有服务。并公开您的服务的端口。然后创建具有公网IP的入口,并创建入口路由,将访问从入口路由到您的后端服务。
请看一下Create an ingress controller in Azure Kubernetes Service (AKS)中的示例。它将向您显示需要执行的步骤。如果你有更多的问题,请让我知道。
发布于 2019-04-16 13:25:30
我刚刚在一个邮件服务器项目上使用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
https://stackoverflow.com/questions/55700029
复制相似问题