Hacker News new | ask | show | jobs
by mike1o1 2023 days ago
I really like the idea of Nomad as a simpler alternative to Kubernetes. The documentation is great and provides a lot of examples, but I wish I could find a starter guide on how to deploy a complete application with it and Consul. Something like, here’s how to deploy a Rails app with Sidekiq workers and database migrations.

This along with Waypoint seems like a great solution for smaller side projects.

1 comments

I like it, too, but with the integration of CNI it's no longer so much simpler than Kubernetes. Where Kubernetes has etcd Nomad requires Consul which arguably might be simpler.

To compete with Kubernetes Nomad will most likely acquire more features (e.g. storage) until it's as complex as Kubernetes because it's just what some businesses seem to want.

On the other hand Kubernetes gets simpler with projects like k3s or k0s.

Nomad has supported CSI for storage since 0.11. It is definitely a challenge since despite being an orchestrator agnostic standard, storage vendors often assume k8s and only support it.

That being said Nomad's CSI support doesn't impact clusters that don't optin to use it. Jobs that use host volumes or ephemeral volumes still work. Only using Nomad for stateless workloads still works. We try very hard to introduce new features in a way that only impacts people who use them.

While the principle is the same for CNI, our migration to group networks ("groups" in Nomad are like "pods" in k8s) and away from task networks has been more painful than we had hoped. Existing jobs should still work with task networks and we're rapidly trying to fix differences in the two approaches.

Nomad's Consul dependency does introduce complexity. The migration to group networks actually included a change that made service addressing available to servers in such a way that Nomad could offer native service discovery. It's still being discussed whether we want to pursue that since offering multiple solutions has obvious downsides as well.

Thanks for your comprehensive answer. As I said I like Nomad and in fact I'd probably prefer to use Nomad if Kubernetes hadn't become kind of an industry standard. When people are free to choose they should by all means use Nomad :)

That said Kubernetes is also simple with stateless workloads or host local storage. It becomes complex when you are using some kind of cluster managed storage and I guess there will be demand for it on Nomad (when you are lucky) and there will be no way around that complexity.

Eventually there will also be things like Nomad Operators and such to handle the increasing complexity :)

Anyway keep up the good work!

Podman can also deploy from Kubernetes config https://github.com/containers/podman/blob/master/docs/source...
There's no requirement on Consul for deploying Nomad, and storage support is in Beta right now.