←back to thread

152 points rgun | 10 comments | | HN request time: 0s | source | bottom
Show context
psviderski ◴[] No.46144570[source]
Hey, creator here. Thanks for sharing this!

Uncloud[0] is a container orchestrator without a control plane. Think multi-machine Docker Compose with automatic WireGuard mesh, service discovery, and HTTPS via Caddy. Each machine just keeps a p2p-synced copy of cluster state (using Fly.io's Corrosion), so there's no quorum to maintain.

I’m building Uncloud after years of managing Kubernetes in small envs and at a unicorn. I keep seeing teams reach for K8s when they really just need to run a bunch of containers across a few machines with decent networking, rollouts, and HTTPS. The operational overhead of k8s is brutal for what they actually need.

A few things that make it unique:

- uses the familiar Docker Compose spec, no new DSL to learn

- builds and pushes your Docker images directly to your machines without an external registry (via my other project unregistry [1])

- imperative CLI (like Docker) rather than declarative reconciliation. Easier mental model and debugging

- works across cloud VMs, bare metal, even a Raspberry Pi at home behind NAT (all connected together)

- minimal resource footprint (<150MB ram)

[0]: https://github.com/psviderski/uncloud

[1]: https://github.com/psviderski/unregistry

replies(11): >>46144726 #>>46144768 #>>46144784 #>>46144846 #>>46144978 #>>46145074 #>>46145335 #>>46145652 #>>46145808 #>>46146155 #>>46146244 #
1. topspin ◴[] No.46144768[source]
"I keep seeing teams reach for K8s when they really just need to run a bunch of containers across a few machines"

Since k8s is very effective at running a bunch of containers across a few machines, it would appear to be exactly the correct thing to reach for. At this point, running a small k8s operation, with k3s or similar, has become so easy that I can't find a rational reason to look elsewhere for container "orchestration".

replies(5): >>46144793 #>>46144975 #>>46145092 #>>46145301 #>>46145392 #
2. nullpoint420 ◴[] No.46144793[source]
100%. I’m really not sure why K8S has become the complexity boogeyman. I’ve seen CDK apps or docker compose files that are way more difficult to understand than the equivalent K8S manifests.
replies(1): >>46145645 #
3. psviderski ◴[] No.46144975[source]
That’s awesome if k3s works for you, nothing wrong with this. You’re simply not the target user then.
4. jabr ◴[] No.46145092[source]
I can only speak for myself, but I considered a few options, including "simple k8s" like [Skate](https://skateco.github.io/), and ultimately decided to build on uncloud.

It was as much personal "taste" than anything, and I would describe the choice as similar to preferring JSON over XML.

For whatever reason, kubernetes just irritates me. I find it unpleasant to use. And I don't think I'm unique in that regard.

5. matijsvzuijlen ◴[] No.46145301[source]
If you already know k8s, this is probably true. If you don't it's hard to know what bits you need, and need to learn about, to get something simple set up.
6. _joel ◴[] No.46145392[source]
Indeed, it seems a knee jerk response without justification. k3s is pretty damn minimal.
7. esseph ◴[] No.46145645[source]
Managing hundreds or thousands of containers across hundreds or thousands of k8s nodes has a lot of operational challenges.

Especially in-house on bare metal.

replies(3): >>46146023 #>>46146036 #>>46146151 #
8. lnenad ◴[] No.46146023{3}[source]
But that's not what anyone is arguing here, nor what (to me it seems at least) uncloud is about. It's about simpler HA multinode setup with a single/low double digit containers.
9. sceptic123 ◴[] No.46146036{3}[source]
I don't think that argument matches with they "just need to run a bunch of containers across a few machines"
10. nullpoint420 ◴[] No.46146151{3}[source]
Talos has made this super easy in my experience.