Live data from Hacker News

Why is Kubernetes getting so popular?

stackoverflow.blog

21–30 of 681 posts

Re: Why is Kubernetes getting so popular?

#21
I'd say it's down to two things. First is the sheer amount of work they're putting into standardization. They just ripped out some pretty deep internal dependencies to create a new storage interface. They have an actual standards body overseen by the Linux Foundation. So I agree with the blog post there.

The second reason is also about standards, but using them more assertively. Docker had way more attention and activity until 2016 when Kubernetes published the Container Runtime Interface. By limiting the Docker features they would use, they leveled the playing field between Docker and other runtimes, making Docker much less exciting. Now, new isolation features are implemented down at the runc level and new management features tend to target Kubernetes because it works just as well with any CRI-compliant runtime. Developing for Docker feels like being locked in.

Re: Why is Kubernetes getting so popular?

#22
post #5

For me, and many others: infrastructure as code. Kubernetes is very complex and took a long time to learn properly. And there have been fires among the way. I plan to write extensively on my blog about it. But at the end of the day: having my entire application stack as YAML files, fully reproducible [1] is invaluable. Even cron jobs. Note: I don't use micro services, service meshes, or any fancy stuff. Just a plain…

Yup, even monoliths can benefit from certain k8s tooling (HPAs, batch jobs, etc).

"What cron jobs does this app run?"

Open cron.yaml and see. With schedule. Self documented.

Amazing. Every time. Even when some as my k8s battle wounds are still healing (or permanently scarred). See other replies for more info.

Re: Why is Kubernetes getting so popular?

#23
as a sys-admin, I like k8s because it solves sys-admin problems in a standardized way. Things like, safe rolling deploys, consolidated logging, liveness and readiness probes, etc. And yes, also because it's repeatable. It takes all the boring tasks of my job and let's me focus on more meaningful work, like dashboards and monitoring.

Re: Why is Kubernetes getting so popular?

#24
I host about a dozen rails apps of different vintage and started switching from Dokku to Digital Ocean Kubernetes. I had a basic app deployed with load balancer and hosted DB in about 6 hours. Services like the nginx ingress are very powerful and it all feels really solid. I never understood Dokku internals either so them being vastly simpler is no help for me. I figured for better or worse kubernetes is here to stay and on DO it is easier than doing anything on AWS really. I have used AWS for about 5 years and have inherited things like terraformed ECS clusters and Beanstalk apps. I know way more about AWS but I feel you need to know so much that unless you only do ops you cannot really keep up.

Re: Why is Kubernetes getting so popular?

#25
post #2

I like to say (lovingly) that Kubernetes takes complex things and simplifies them in complex ways.

It just hides the complexity in some yml files instead of in a deploy script or a sysadmin's head.

You say that like it's a bad thing. A declarative model is infinitely better for representing complex systems than scripts and mind space. The challenge is actually being able to get to that point.

Re: Why is Kubernetes getting so popular?

#27

Because everyone chases the newest, shiniest thing in tech, and it's not cool nor fun to make boring old stuff in C then copy one binary and maybe a config to the server.

Even if one does have a single binary and config file that one can just copy to a server and run, there's more to non-trivial deployments than that. For example, how do you do a zero-downtime deployment where you copy over a new binary, start it up, switch new requests over to the new version, but let the old one keep running until either it finishes handling all requests that it already received or a timeout is reached? One reason why Kubernetes is popular is that it provides a standard, cross-vendor solution to this and other problems.

Re: Why is Kubernetes getting so popular?

#28

What does the Kubernetes configuration format offer over configuration management systems like Ansible, Salt, Puppet, Chef, etc?

They are not comparable. You might use ansible, salt, puppet or chef to deploy kubelet, apiserver, etc. You could, barring those with self-love, even deploy Ansible tower on Kubernetes to manage your kubernetes infrastructure.

Re: Why is Kubernetes getting so popular?

#29

What does the Kubernetes configuration format offer over configuration management systems like Ansible, Salt, Puppet, Chef, etc?

I'm not intimately familiar with those, but I did a lot of similar things with scripts.

As far as I can tell: those are imperative. At least in some areas.

Kubernetes is declarative. You mention the end state and it just "figures it out". Mind you, with issues sometimes.

All abstractions leak. Note that k8s's adamance about declarative configuration can make you bend over backwards. Example: running a migration script post deploys. Or waiting for other services to start before starting your own. Etc.

I think in many ways, those compete with Terraform which is "declarative"-ish. There's very much a state file.

Re: Why is Kubernetes getting so popular?

#30

It's not because of the networking stack. I've yet to meet anyone who can easily explain how the CNI, services, ingresses and pod network spaces all work together. Everything is so interlinked and complicated that you need to understand vast swathes of kubernetes before you can attach any sort of complexity to the networking side. I contrast that to it's scheduling and resourcing components which are relatively easy…

For the nginx ingress case:

An ingress object creates an nginx/nginx.conf. That nginx server has an IP address which has a round robin IPVS rule. When it gets the request it proxy's to a service ip which then round robins to the 10.0.0.0/8 container IP.

Ingress -> service -> pod

It is all very confusing but once you look behind the curtain it's straight forward if you know Linux networking and web servers. The cloud providers remove the requirement of needing Linux knowledge.

Post reply on HN