3 ms·
Complex solutions exists for complex needs. If you just need to crop an image, you don’t install Photoshop to do so. If you only have a simple web app for a few
by skydhash 2y ago
Complex solutions exists for complex needs. If you just need to crop an image, you don’t install Photoshop to do so. If you only have a simple web app for a few thousands users, you don’t go and setup k8s. Yes, having photoshop means you may do what all the cool kids are doing, but if you’re only cropping image, Preview.app is good enough. Eschewing simpler solutions because “standard” is how you start to see everything as a nail for your hammer.
There’s another thing that no one who advocates for these systems wants to mention: The cost of maintenance. I’m ok with systemd as 98% is outsourced to the maintainers. But I’d be more comfortable if k8s was a more monolithic system a la BSD. At least linux have distros.
- fesc 2y ago> for a few thousands users It makes absolutely no sense to base this decision on the number of users. We have some applications that don't even have 10 users but still use k8s. Try to understand the point that was made in the original comment: Kubernetes is a way to actually make infrastructure simpler to understand for a team which maintains lots of different applications, as it can scale from a deployment with just one pod to hundreds of nodes and a silly microservices architecture. The point is not that every application might need this scalability, no the point is that for a team needing to maintain lots of different applications, some internal, some for customers, some in private datacenters, some in the cloud, Kubernetes can be the single common denominator. Hell, I'm a hardcode NixOS fan but for most services, I still prefer to run them in k8s just as it is more portable. Today I might be okay having some service sitting on some box, running via systemd. But tomorrow I might want to run this service highly available on some cluster. Using k8s that is simple, so why not do it from the start by just treating k8s as a slighly more powerful docker-compose.
- nucleardog 2y ago> But I’d be more comfortable if k8s was a more monolithic system a la BSD. At least linux have distros. k3s is essentially a single binary and installed, up and running with a single command. With a handful of command line flags you can have a full cluster up and running with some master nodes and some agents and high availability through etcd and load balancing and network policies and ingress and distributed clouds via WireGuard/Tailscale… They also have “blessed” options (that you can generally install with a single command) for things like persistent storage, etc. I would not want to build a k8s cluster from scratch. Setting up and maintaining a k3s cluster is pretty trivial.
- jauntywundrkind 2y ago> Complex solutions exists for complex needs. If you just need to... Personally, to me, this sounds like madness. Deciding you need to custom tailor and brew up a specific solution that exactly matches each use case begets endless complexity. Constantly negotiating a position & changing approaches begets endless complexity. And the complexity needle moves over time, such that your initial assumptions often don't stand. Getting something running usually isn't too hard. But creeping demands of observability, monitoring, rotating certs, backups, and other concerns are going to start getting tacked on. If you only ever do one thing, and there aren't many of ya'll & never will be, and very few newcomers will ever join, maybe maybe maybe you find a win today by doing less, by hand picking your options & getting in there & cobbling your stack of tools together. Convincing yourself to start small, to avoid "complex" Kubernetes to do less, is in most cases though going to backfire even for a single piece of software, as situations evolve. There is such a fear that Kubernetes is complex, but it just feels like so many are missing the point, are resisting the standards & practices that erulabs' spoke to. But man, it is so not complex to prop up a big k3s node & push some containers at it. And anyone whose spent more than 1 hours with kube will be able to look around, see what's running on the node, see how everything works; you won't have to explain what you did, it'll be obvious. And they'll be able to keep going. And you'll be able to keep encorporating concerns & platform & new apps in. And those skills - mastering that complexity - will transfer to every other thing you want to do, will scale way up and way down. (I do think systemd offers a good number of similar advantages of replicatability, consistency, paved-roadness, and is pretty solid an option, but involves more finding-your-practice than kube)
- Yasuraka 2y agoK8s has distros, most of them certified to be compatible, and some of them are monolithic(-ish (single binary)), such as k3s/rke2.