This is an excellent way of looking at it. I've struggled for many years to come up with a response to hacker news comments saying you don't need kubernetes, but this sums it up about as well as I could imagine.
Learning how to operate Kubernetes well takes a while and I would say is only worth the investment for a extremely tiny percentage of companies.
We (mostly) chose k8s over other solutions because of other tools/providers in the ecosystem that made business sense for us. But we did need something to abstract our deployment complexity.
I’m mostly suggesting that I suspect many of the people with bad k8s experience didn’t really need it.
I’ve seen a number of people wrap a simple application in a container, slap it in a deployment/service/ingress and call it a day, it works, but using k8s that way doesn’t really add much value.
If you don't know k8s and Terraform, you're shooting yourself in the foot for future jobs.
Basic concepts and how to write a job/service/ingress, sure. Knowing the internals and how to operate it? I'd say that's only for specialists. Most people don't need to know what a Finalizer is or does. Most people aren't going to write operators.
It is a multi-year investment of time to deeply understand this tool and it's not necessary for everyone.
That and it tries to make breaking changes on the timescale of decades rather than every other minor release (so, once or twice a year?).
I think it's safe to assume that any non-trivial use of linux involves non-default configuration.
> you don't need a team of people just to run, maintain and upgrade the kernel.
My relatively small company employed linux admins before we adopted (on prem) kubernetes. Their work has changed a bit since since then, but it isn't meaningfully more laborious.
I assume that less effort is required for cloud kubernetes offerings.
Hosted Kubernetes isn't significantly easier either, as every host is offering you different things as "Kubernetes" and has different ways that you will need to manually intervene to overcome problems.
I'm only telling you this from experience, being years down the rabbit hole already.
I think you still have to understand the lego block in your hand though, so you can combine it well with the other parts of your system.
If what you want to deploy is best described as “an application” it’s probably not the right tool for the job. If what you want to deploy is best described as “50 interconnected applications” it’s probably going to save you time.