First of all I'm pretty new on all this (kubernetes, ingress, spark/zeppelin ...) so my apologies if this is obvious. I tried searching here, documentations etc but couldn't find anything.
I am trying to make the spark interpreter ui accessible from my zeppelin notebook running on kubernetes. Following what I understood from here: http://zeppelin.apache.org/docs/0.9.0-preview1/quickstart/kubernetes.html, my ingress yaml looks something like this:
Ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-zeppelin-server-http
http
spec:
rules:
- host: my-zeppelin.my-domain
http:
paths:
- backend:
serviceName: zeppelin-server
servicePort: 8080
- host: '*.my-zeppelin.my-domain'
http:
paths:
- backend:
serviceName: spark-guovyx
servicePort: 4040
status:
loadBalancer: {}
My issue here is that I need to rely on the service-name (in this case spark-guovyx) being set to the interpreter pod name in order to have the UI show up. However since this name is bound to change / have different ones (i.e. I have one interpreter per user + interpreters are frequently restarted) obviously I cannot rely on setting it manually. My initial thought was to use some kind of wildcard naming for the serviceName but turns out ingress/kubernetes don't support that. Any ideas please ?
Thanks.