3
votes

I have a replication controller creating 10 instances of my pod. The pod runs a Zeppelin notebook which should be accessed by users over the web. However I need the possibility to access a specific notebook/pod over the web. If I expose the pods using a service of type LoadBalancer I will automatically be routed to any pod.

Is there a way to expose an extra IP per pod or another way to access specific pods over the web? Or is the only way to create 10 replication controllers and 10 services?

2
The use case makes no sense...why do you want specific access?manojlds
Thats not the question, but: each pod also has a local spark-cluster and each user shall have a similar, dedicated 4 core environment. Therefore it matters that each user can access his pod.nik
So you are looking at multi-tenancy?manojlds
We will implement a multi-tenancy-able Zeppelin-Spark cluster setup in the medium term, however that's not what this question asks for.nik

2 Answers

1
votes

To get 1:1 IP addresses you'd need a replication controller for each site. Replication controllers are for managing identically configured resources.

However, you could always do host-based or path-based routing to get to the right service / pod. That way you could just have a subdomain + mapping for each user.

0
votes

Another option a colleague of mine just came up with is to create an own namespace per needed replication and deploy the same replication controller and service into those. That's at least a bit more comfortable and offers a higher level of isolation.