Live data from Hacker News

Why Fix Kubernetes and Systemd?

medium.com

41–50 of 120 posts

Re: Why Fix Kubernetes and Systemd?

#41

I think the virtual machine comments are the one area that doesn’t make sense to me. Everything else seems reasonable.

The virtual machine comments make a great deal of sense to me. Virtual machines bring an enormous amount of power and foregoing that power because some container orchestration system is oblivious to their existence is deeply foolish.

My dream is VMs as easy to manage (build, deploy, etc.) as containers, hosting containers, and managed across a cluster of hardware by an orchestration system. Trying to make container orchestration do the things VMs do with ease produces nothing but pain and waste.

kris-nova: yes, fully integrate VM management and fill this yawning chasm. There is enormous demand for this, naysayers notwithstanding.

Re: Why Fix Kubernetes and Systemd?

#42

Earlier quoted context omitted.

Good call out. I glossed over a lot of the semantics. To be fair I could write an equally as long and drawn out article about why virtualization and a lightweight hypervisor is in scope for a process management mechanism.

Systemd can manage virtual machines already, see systemd-machined and machinectl. It has no support for clustered/distributed state as of yet, however.

Those are containers, not VMs.

Re: Why Fix Kubernetes and Systemd?

#44

Doesn't sound like this fixes systemd, unless your problem is that you depend on systemd + kubernetes. That is, I read this as a Redhat/Gnome/Freedesktop problem; I'd love a fix for systemd, but I don't think this one solves my problems.

Care to elaborate on your problems? Or maybe a more fundamental question would be -- would you be interested in a project like this solving whatever your particular gripes with systemd might be?

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 any other enterprise cloud stuff for that matter. I don't need orchestration, my hardware never changes (so I don't need anything like UDEV), and if there ever is an ad-hoc change I can ad-hoc configure it.

Re: Why Fix Kubernetes and Systemd?

#45
post #32
post #26

Earlier quoted context omitted.

Same - we now use systemd to sandbox our apps, set resource limits, hide the rest of the system, mount read-only FS, etc. Add a custom SELinux policy for your service, and you get a compelling alternative to containerization (at least at runtime).

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).

Re: Why Fix Kubernetes and Systemd?

#47

Great stuff! So would you say that, in a way this is implementing a node-level control plane?

I think the term "control plane" is overloaded but -- yes.

I just think of it as a node API more than anything. Having a comprehensive set of features/library/API for the node seems like it would unlock a lot of features we are seeing in large service mesh and large platform shops are turning to sidecars to solve.

Re: Why Fix Kubernetes and Systemd?

#48
Does anyone know if it’s possible to run multiple instances of an app via systemd that all listen on the same port and it does some kind of round robin load balancing to the services?

I could introduce my own load balancer proxy like Envoy but I want to reduce complexity as much as possible for systemd to be a viable alternative to k8s.

Re: Why Fix Kubernetes and Systemd?

#49

Earlier quoted context omitted.

Systemd can manage virtual machines already, see systemd-machined and machinectl. It has no support for clustered/distributed state as of yet, however.

Those are containers, not VMs.

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

Re: Why Fix Kubernetes and Systemd?

#50

Does anyone know if it’s possible to run multiple instances of an app via systemd that all listen on the same port and it does some kind of round robin load balancing to the services? I could introduce my own load balancer proxy like Envoy but I want to reduce complexity as much as possible for systemd to be a viable alternative to k8s.

Looks like there's some support for that already in systemd, but it's not complete...see: https://github.com/systemd/systemd/issues/8096

Also iptables would be a simple option for a round-robin or random load balancer. No health checks or anything though. See: https://scalingo.com/blog/iptables for an example.

Post reply on HN