【发布时间】:2019-11-05 12:15:30
【问题描述】:
在我的 AKS 集群上,我有一个 Nginx 入口控制器,用于反向代理我在 AKS 上运行的 kibana 服务。不过,我想通过 ingress、rabbitmq 管理控制台添加另一个 http 服务。
我无法同时使用以下配置:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-aegis
namespace: dev
annotations:
kubernetes.io/ingress.class: nginx
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
tls:
- hosts:
- dev.endpoint.net
secretName: dev-secret
rules:
- host: dev.endpoint.net
http:
paths:
- path: /
backend:
serviceName: kibana-kibana
servicePort: 5601
- path: /rabbit
backend:
serviceName: rabbitmq
servicePort: 15672
Kibana 在根目录下工作正常,但是 RabbitMQ 无法加载 503 和除 / 之外的任何路径。如果 RabbitMQ 的路径是 /,那么它可以正常工作,但 Kibana 将无法运行。
我认为这是因为它们在内部位于根目录,即 localhost:15672,因此它重定向到 dev.endpoint.net 上的 /。
如何让 Kibana 和 RabbitmQ 等多种服务从一个端点运行?
【问题讨论】:
-
你是否尝试为rabbitmq专门化服务端口?
-
我错过了这个问题。现已添加。
-
为什么只创建一个入口?为什么不创建两个不同的入口,因为它是两个不同的域和两个不同的服务?
-
它们是不同的服务,但在同一个域下相关。它很容易让多个简单的 Web 应用程序在多个路径下工作,而不是使用 RabbitMQ 和 Kibana 等更复杂的系统。
标签: nginx kubernetes rabbitmq kibana azure-aks