Remix.run Logo
psviderski 12 hours ago

Not rude at all. The benefit is a much simpler model where you simply connect machines in a network where every machine is equal. You can add more, remove some. No need to worry about an HA 3-node centralised “cluster brain”. There isn’t one.

It’s a similar experience when a cloud provider manages the control plane for you. But you have to worry about the availability when you host everything yourself. Losing etcd quorum results in an unusable cluster.

Many people want to avoid this, especially when running at a smaller scale like a handful of machines.

The cluster network can even partition and each partition continues to operate allowing to deploy/update apps individually.

That’s essentially what we all did in a pre-k8s era with chef and ansible but without the boilerplate and reinventing the wheel, and using the learnings from k8s and friends.

JohnMakin 10 hours ago | parent | next [-]

If you are a small operation and trying to self host k3s or k8s or any number of out of the box installations that are probably at least as complex as docker compose swarms, for any non trivial production case, presents similar problems in monitoring and availability as ones you’d get with off the shelf cloud provider managed services, except the managed solutions come without the pain in the ass. Except you don’t have a control plane.

I have managed custom server clusters in a self hosted situation. the problems are hard, but if you’re small, why would you reach for such a solution in the first place? you’d be better off paying for a managed service. What situation forces so many people to reach to self hosted kubernetes?

rahkiin an hour ago | parent [-]

Price. Data sovereignty. Legal. All are valid reasons to self-host

_joel 12 hours ago | parent | prev [-]

k3s uses sqlite, so not etcd.

davidgl 9 hours ago | parent [-]

It can use sqlite (single master), or for cluster it can use pg, or mysql, but etcd by default

_joel 9 hours ago | parent | next [-]

No, it's not. Read the docs[1] - sqlite is the default.

"Lightweight datastore based on sqlite3 as the default storage backend. etcd3, MySQL, and Postgres are also available."

[1]https://docs.k3s.io/

cobolcomesback 8 hours ago | parent [-]

This thread is about using multi-machine clusters, and sqlite cannot be used for multi-machine clusters in k3s. etcd is the default when starting k3s in cluster mode [1].

[1] https://docs.k3s.io/datastore

_joel 5 hours ago | parent | next [-]

No, this thread is about multiple containers across machines. What you describe is multi-master for the server. You can run multple agents across serveral nodes therefore clustering the container workload across multiple container hosting servers. Multi-master is something different.

cobolcomesback 4 hours ago | parent [-]

The very first paragraph of the first comment you replied to is about multi-master HA. The second sentence in that comment is about “every machine is equal”. k3s with sqlite is awesome, but it cannot do that.

5 hours ago | parent | prev [-]
[deleted]
_joel 5 hours ago | parent | prev [-]

apologies, I misread this and gave a terse reply.