I have deployed elasticsearch and Kibana using the ECK operator as explained in
When I port-forward to Kibana service everything works fine. But if I expose the service using Istio virtualservice I see the login page only but nothing works even I cannot login to Kibana.
The problem is when Kibana runs behind a proxy there is some problem with the base path. By default Kibana base path is " /app/kibana". So in my Kibana manifest, I tried to set the basepath as environment variable as below
apiVersion: kibana.k8s.elastic.co/v1alpha1 kind: Kibana metadata: name: my-kibana namespace: elastic-system spec: version: 7.1.0 nodeCount: 2 elasticsearchRef: name: myelasticsearch podTemplate: metadata: labels: app: my-kibana spec: containers: - name: kibana resources: limits: memory: 1Gi cpu: 1 env: - name: SERVER_BASEPATH value: /
But it seems the "SERVER_BASEPATH" env variable I tried to set in the pod template gets ignored by "Kibana" object.
My istio virtualservice is as below
apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: kibana namespace: elastic-system spec: hosts: - "kibana.mydomain.com" gateways: - istio-system/https-gateway - istio-system/http-to-https-redirect http: #- match: # - uri: # prefix: "/app/kibana" # rewrite: # uri: "/" # route: # - destination: # host: my-kibana # port: # number: 5601 - route: - destination: host: my-kibana port: number: 5601
Any idea how to expose Kibana using istio when ECK operator is used?
NOTE: Please ignore any kind name mismatch as i put custom name here and Kibana works completely fine when I do