Earlier quoted context omitted.
> of secret management, load balancing, config management, routing, orchestration beyond workloads (e.g. storage), rollbacks/rollouts Nomad does all of these either natively ( rollbacks/rollouts) or via external tooling ( Vault, Consul, a load balancer). Unix philosophy and all that, and besides, Kubernetes doesn't do load balancing, and secret management is a joke.
If it does these things through external integrations, it’s not really something Nomad does.
Running Nomad for a Home Server
141–150 of 153 posts
Re: Running Nomad for a Home Server
#142Nomad is good at running all sort of workloads, not just container workloads. Also there is a plugin[0] to run containers without docker so Nomad is headed in the right direction for scenarios where you only need a scheduler. [0] https://github.com/Roblox/nomad-driver-containerd
Nomad already has a first-party driver for podman, doesn't that do it?
Not really, Podman and containerd are two different technologies, although both allow you to move away from Docker for various reasons (smaller CPU, memory footprint, better security etc). If you are invested into Red Hat container stack, podman makes more sense. However containerd is more universal.
K8s is already moving away from docker, and directly into containerd. Most recently they deprecated dockershim, and users now need to switch to containerd (since docker also uses containerd under the hood, and it doesn't make sense for the orchestration system to run a monolithic service like docker where it just need to launch the workloads)
Some reference links of k8s or PaaS build on top of k8s moving to containerd
- https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-...
- AWS Fargate: https://aws.amazon.com/blogs/containers/under-the-hood-farga...
- Azure kubernetes service (AKS): https://docs.microsoft.com/en-us/azure/aks/cluster-configura...
This driver is similar to what CRI-containerd is doing in kubernetes (if you are coming from the k8s world)
Re: Running Nomad for a Home Server
#143Earlier quoted context omitted.
Capnrover seems like the best option. I have the same perception of Flynn. Dokku is nice but I don't really see how you could use it in production since it's limited to a single server (there are definitely some cases where that's all you need but I can't imagine you'd need a PaaS for most of them).
Maintainer of Dokku here: It isn't limited to a single system, and has a scheduler component for Kubernetes ( https://github.com/dokku/dokku-scheduler-kubernetes ) and Nomad ( https://github.com/dokku/dokku-scheduler-nomad ).
Re: Running Nomad for a Home Server
#144Earlier quoted context omitted.
Nomad already has a first-party driver for podman, doesn't that do it?
Author ( https://github.com/Roblox/nomad-driver-containerd ) here. Not really, Podman and containerd are two different technologies, although both allow you to move away from Docker for various reasons (smaller CPU, memory footprint, better security etc). If you are invested into Red Hat container stack, podman makes more sense. However containerd is more universal. K8s is already moving away from docker, and directl…
Re: Running Nomad for a Home Server
#145Earlier quoted context omitted.
As the article says, >Nomad is also a simpler piece to keep in your tech stack. Sometimes it's best to keep things simple when you don't really achieve any benefits from the complexity. Simple is better. But in this case he doesn't realize that he's stuck way up the complexity stack in a local minimum that's way more complex than most of the potential software landscape. None of that is needed to expose a webserver.…
The second sentence of the article answers your question. And if you follow the link in the third sentence, the image at the top of the README also answers your question.
Re: Running Nomad for a Home Server
#146Earlier quoted context omitted.
Author ( https://github.com/Roblox/nomad-driver-containerd ) here. Not really, Podman and containerd are two different technologies, although both allow you to move away from Docker for various reasons (smaller CPU, memory footprint, better security etc). If you are invested into Red Hat container stack, podman makes more sense. However containerd is more universal. K8s is already moving away from docker, and directl…
Appreciate the thoughtful reply. So it does address the immediate issue of being able to run OCI containers without the intrusive docker daemon, but not in the same way (and as you say, less standardized/universal).
IMO, or atleast when we were making that decision, a key factor that we considered: Since docker has been more ubiquitous as a technology and millions of users have already been running docker in their infrastructure (and containerd under the hood without even knowing that it exists), containerd has seen the test of time a lot more than e.g. podman.
Also to add, containerd as a system is very pluggable and flexible. You can swap out an entire subsystem and write (plug) your own with containerd. e.g. you can write your own custom snapshotter and use that if you don't want to go with the default. e.g. The firecracker-containerd project (https://github.com/firecracker-microvm/firecracker-container...) wrote their own devicemapper snapshotter. From my limited understanding of podman, I believe it's geared more towards security and making containers rootless, which was a pain point in docker initially, since everyone ran containers with root.
Re: Running Nomad for a Home Server
#147Earlier quoted context omitted.
Appreciate the thoughtful reply. So it does address the immediate issue of being able to run OCI containers without the intrusive docker daemon, but not in the same way (and as you say, less standardized/universal).
yes, that's correct. With both the drivers (podman, containerd) you can run OCI containers without the need to run docker daemon. IMO, or atleast when we were making that decision, a key factor that we considered: Since docker has been more ubiquitous as a technology and millions of users have already been running docker in their infrastructure (and containerd under the hood without even knowing that it exists), cont…
https://github.com/AkihiroSuda/nerdctl
If you just have containerd running on your system (with no docker daemon running), you can just install nerdctl and add
alias docker="nerdctl"
to your ~/.bashrc file.
Then you can just run any docker commands the way you used to with docker, and it will run those commands against the containerd API giving you the same CLI experience that you used to have with docker.
Re: Running Nomad for a Home Server
#148Earlier quoted context omitted.
yes, that's correct. With both the drivers (podman, containerd) you can run OCI containers without the need to run docker daemon. IMO, or atleast when we were making that decision, a key factor that we considered: Since docker has been more ubiquitous as a technology and millions of users have already been running docker in their infrastructure (and containerd under the hood without even knowing that it exists), cont…
One area, where containerd didn't had a first class support was CLI. the default containerd CLI "ctr" has a very naive implementation. The reason for that I believe is, containerd as a system was never meant to be consumed by humans, and was designed to be consumed by higher layers e.g. orchestration systems like nomad or k8s. However, with the deprecation of dockershim in k8s, and users moving to containerd, a new d…
Re: Running Nomad for a Home Server
#149I did/do run both myself, Kubernetes and Nomad, and it was a million times easier to set up Nomad (including Consul) on bare metal than it was to set up Kubernetes. Kubernetes offers more features, but you most likely don't need them and the increase in complexity makes it a pain to maintain. I'm running a three-node cluster on Hetzner [0] for Pirsch [1] right now and haven't had any difficulties whatsoever when upgr…
Re: Running Nomad for a Home Server
#150Earlier quoted context omitted.
I recently setup Traefik 2.x to front a self-hosted Docker Registry, with automated Let's Encrypt renewals - I found the config to be really unintuitive and confusing! It feels like an awful lot of really finicky config for such a simply setup. Next time I'll try something else.
Traefik v1 is much simpler, v2 seemed to introduce so many extra layers which makes the simple stuff harder.