Live data from Hacker News

Why Fix Kubernetes and Systemd?

medium.com

81–90 of 120 posts

Re: Why Fix Kubernetes and Systemd?

#81

systemd is better than "fine" or "great" - systemd is awesome. systemd is a real power tool and the more I learn about it the better I like it. When you need to get something done, systemd often as not has your back. Simple example - recently I needed to ensure a given service could not send more data than a given limit. Easy - systemd includes traffic accounting on a per service basis - all I needed to do was switch…

Those are common arguments for systemd, similarly to other batteries-included software. But the opponents of such software (and of systemd in particular) tend to expect the whole system being like that: having all the useful components playing nicely together, and easily swappable in addition to that. Which is harder to achieve, but supposed to be nicer.

https://images.news18.com/ibnlive/uploads/2021/12/spiderman-...

It's like I'm in a hall of mirrors......

It's the integration of systemd, the common approach that yields the giant payoff. I understand the "lots of independent utilities" Unix philosophy but systemd's consistent broad scope yields increasing benefits.

Re: Why Fix Kubernetes and Systemd?

#82

I think I'm stupid, because for me this all seems overly complex. Why do the things get more and more complex instead of the opposite? Is it really the only way? Like said, I'm clearly stupid for not understanding it.

Few reasons. Main one is that containers are a complex problem to implement. You need to mount a bunch of filesystems, set a bunch of limits what app running in container can and cannot do, and then do all the plumbing to network it (firewalls, redirects etcetera).

VM is essentially just the last part and usually simpler too ("just connect it to switch like it is separate machine" is common solution"). Sure you still have some complexity around storage but that's just "here is a bunch of blocks", no need to make overlay filesystem or mount image layers.

Then we are at level of generic OS. The features docker/systemd/k8s uses were not "designed to make containers", they were designed to be used for anything you wanted, from as complex as containers to as simple as "let's put this processes in a cgroup so we can limit memory usage together. And with flexibility comes complexity.

Then we have a problem of both systemd and k8s/docker managing same interfaces so both have to play nice with eachother. And we get to even more complexity when kubelet-controlled containers also need to manage system stuff, like say networking via kube-router.

It would be simpler if say k8s' kubelet directly managed everything all at once but that means it would also have to do what systemd does (boot system, setup devices and partitions etc.) so while total complexity would be lower, the kubelet itself would be more complex.

Re: Why Fix Kubernetes and Systemd?

#83

Earlier quoted context omitted.

They can be either. This is expressly supported, e.g. by the libvirt tooling ecosystem.

Ah, my bad, I wasn't aware machined supported VMs as well. I wonder how that works with the other systemd integrations (like viewing logs from the hypervisor OS with journalctl), I suppose it just doesn't?

Many systemd commands have support for remote commands by setting a --host param to the address of the machine you want to invoke the command on.

It's similar to how --machine works for containers under systemd, but using ssh to communicate.

Re: Why Fix Kubernetes and Systemd?

#84

I think I'm stupid, because for me this all seems overly complex. Why do the things get more and more complex instead of the opposite? Is it really the only way? Like said, I'm clearly stupid for not understanding it.

You're not the one who is insane. Assume you have a $25k budget for a Dell server and $20k for attached storage . Go see what you can build on Dell.com's online configuration tool. You could colocate everything you can buy for $45k in a half rack at a reputable datacenter for $750 per month including a burstable to 1gbit internet connection. I estimate that at least 75% of the people who are commenting on these threa…

Yes but you need semi-competent people to manage it and have actual ops dept.

Then again we got a bunch of racks and our ops dept is 3 people.

We have few dozen different apps running on it, anything from "just a wordpress" to k8s cluster (mostly because our customers want us to deploy app they are paying us to develop on k8s).

So far the only actual value k8s provides is self-service aspect of it. Nothing that is running on it needs anything special to k8s, all of it is just "few app servers + one or few DB services".

Sure, there is value in not bothering ops to install yet another VM and plumb the network for it, but you need pretty big team for that kind of savings to be worth it.

There is also value in having complex app deployment centralized in one manifest that can be run on prod or on dev machine, but you can you know... not overcomplicate your apps massively by making a bunch of microservices for a thing that really should be just well structured single app. Again, not really a benefit for small (let's say below 50) teams, for bigger orgs, sure

> But they will instead recommend that for 600k/year in spend you over-engineer all aspects... I call it CVops instead of DevOps. CV being another word for resume...

It's a mix of bad goals and devs wanting to work on cool stuff. I did mildly overengineer a lot of things but about 8/10 out of them eventually became useful, but that's because I'm in ops so everything we do is long term by default.

Re: Why Fix Kubernetes and Systemd?

#85
post #45
post #32

Earlier quoted context omitted.

Do you have a blog perchance? I'd love to read more about this, maybe with fully-featured examples.

No, but here is one of our service files for systemd to manage a Node.js backend instance. Could be a useful starting point to create your own https://gist.github.com/eugene1g/22aa2b2c8897a29a54fba876b0c... Many sandboxing features require a relatively modern systemd and will do nothing on older distros (we run RHEL9).

This is great, thanks, and I appreciate that's it's commented too!

Also like the "negative" commented out config, that's something I often do myself with footguns that feel "obvious".

Re: Why Fix Kubernetes and Systemd?

#86

systemd is better than "fine" or "great" - systemd is awesome. systemd is a real power tool and the more I learn about it the better I like it. When you need to get something done, systemd often as not has your back. Simple example - recently I needed to ensure a given service could not send more data than a given limit. Easy - systemd includes traffic accounting on a per service basis - all I needed to do was switch…

Sure but it’s really fun to complain about systemd though

Re: Why Fix Kubernetes and Systemd?

#87
post #60

Earlier quoted context omitted.

You're not the one who is insane. Assume you have a $25k budget for a Dell server and $20k for attached storage . Go see what you can build on Dell.com's online configuration tool. You could colocate everything you can buy for $45k in a half rack at a reputable datacenter for $750 per month including a burstable to 1gbit internet connection. I estimate that at least 75% of the people who are commenting on these threa…

>I call it CVops instead of DevOps. CV being another word for resume... I might borrow this, although I'm leaning towards Res[ume]Ops

I call it RDD - Resume Driven Development.

Re: Why Fix Kubernetes and Systemd?

#88

Earlier quoted context omitted.

Thanks for a constructive response! I don't code any more, and I was never an OS-level programmer. And the systemd debate has been argued, and my champions lost. So I concede; I don't want to argue about systemd. The problems are still there though, and I'm interested in ideas that propose to solve them. This article was scratching different itches than the ones that bother me. I'm not interested in Kubernetes, or an…

> my hardware never changes (so I don't need anything like UDEV) You don't own any USB peripherals?

Of course. But I'm not constantly plugging them in and out. These are a couple of headless, domestic NUC-type boxes, providing simple local services. They don't have GUIs, so notifications are irrelevant.

Re: Why Fix Kubernetes and Systemd?

#89
post #8

I find kubernetes - systemd overlap angle as a very valid point. When I first started to learn kubernetes more often than not I was thinking 'hey, we can do that with systemd as well!'

> 'hey, we can do that with systemd as well!'

But does systemd do these things in a user-friendly way? Or at least as friendly as Kubernetes?

Unfortunately, no.

Don't underestimate the importance of UX.

Re: Why Fix Kubernetes and Systemd?

#90
post #89
post #8

I find kubernetes - systemd overlap angle as a very valid point. When I first started to learn kubernetes more often than not I was thinking 'hey, we can do that with systemd as well!'

> 'hey, we can do that with systemd as well!' But does systemd do these things in a user-friendly way? Or at least as friendly as Kubernetes? Unfortunately, no. Don't underestimate the importance of UX.

Systemd do things in as friendly a way as kubernetes?

No one should ever confuse kubernetes for user-friendly.

Post reply on HN