I’m starting with Nomad and I’m trying to create a system where you can request an addressable session/container from the outside and Nomad will then deploy this session and expose this session to the outside world.
My first idea is to create a custom driver that handles this provisioning. Maybe there is already a way to do this?
Can you please give me high-level advice about what is the best way to do this?
Sounds like an interesting project ! At the high level, without knowing any of your specific requirements, Nomad would definitely be able to do this. I don’t think you’d even need to create a custom driver. Based on my understanding of what you said, you could -
Host an application in Nomad where users can " request a session "
On user request, deploy a nomad job based on a template ( see templating )
Expose those jobs through load balancing as well
Could you give more context into the UX you’re trying to achieve? It seems like you’d only need the docker driver, is there something that the docker driver doesn’t have that you’d need for this project?
Hey, I wanted to ask how would you implement the dynamic routing to sessions.
I have multiple dynamic services running on a node and they have their own dynamic local IP addresses (for example 192.168.1.3). They are all reachable from the node’s host namespace but I also create new network namespaces for each service manually – can we propagate this information to Consul and use it for routing the request with some built-in Nomad features?
How would I register these services with Consul so I can route traffic to them from some central proxy?