Kubernetes nginx ingress rabbitmq management and kibana Kubernetes nginx ingress rabbitmq management and kibana kubernetes kubernetes

Kubernetes nginx ingress rabbitmq management and kibana


What you need to do is set the basePath for kibana to /kibana

See the below url

https://www.elastic.co/guide/en/kibana/current/settings.html

You are looking to configure server.basePath to /kibana. Then this will sort the reverse proxying issues and you can keep the MQ one directly on root /

You can also set SERVER_BASEPATH environment variable in your kibana pod and it will automatically pick the base path from that variable


One idea would be to do host name based rules to switch backends. However, this would require a wildcard or SAN SSL certificate.

apiVersion: extensions/v1beta1kind: Ingressmetadata:  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    - rabbit.endpoint.net    secretName: dev-secret     rules:  - host: dev.endpoint.net    http:      paths:      - path: /        backend:          serviceName: kibana-kibana          servicePort: 5601  - host: rabbit.endpoint.net    http:      paths:      - path: /        backend:          serviceName: rabbitmq


For RabbitMQ Management UI via ingress, set the following in the rabbitmq.conf file (you can use configmaps and mount the file inside the pod)

management.path_prefix = /rabbit

In the Ingress set the following :

...   path: /rabbit(/|$)(.*)...

See : https://www.rabbitmq.com/management.html#path-prefix