Live data from Hacker News

Why is Kubernetes getting so popular?

stackoverflow.blog

41–50 of 681 posts

Re: Why is Kubernetes getting so popular?

#41

It makes a bit more sense if you see Kubernetes as the new Linux: a common foundation that the industry agrees on, and that you can build other abstractions on top of. In particular Kubernetes is the Linux Kernel, while we are in the early days of discovering what the "Linux distro" equivalent is, which will make it much more friendly / usable to a wider audience

Second this!

Re: Why is Kubernetes getting so popular?

#42

Earlier quoted context omitted.

According to the article you are wrong about "infrastructure as code". Kubernetes is infrastructure as data, specifically YAML files. Puppet and Chef are infrastructure as code. Edit: not sure why the down votes, I was just trying to point out what seems like a big distinction that the article is trying to make.

Maybe? I'm too lazy to formally verify if the YAML files k8s accepts are Turing complete. With kustomize they might very well be. How about "infrastructure-as-some-sort-of-text-file-versioned-in-my-repository". It's a mouthful, but maybe it'll catch on.

Infrastructure-as-config?

Re: Why is Kubernetes getting so popular?

#43

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

Having extensively used Chef and K8s, the difference is that they try to deal with chaos in unmanaged way (Puppet is the closest to "managed"), but when dealing with wild chaos you lack many ways of enforcing the order. Plus they don't really do multi-server computation of resources.

What k8s brings to the table is a level of standardization. It's the difference between bringing some level of robotics to manual loading and unloading of classic cargo ships, vs. the fully automated containerized ports.

With k8s, you get structure where you can wrap individual program's idiosyncracies into a container that exposes standard interface. This standard interface allows you to then easily drop it into server, with various topologies, resources, networking etc. handled through common interfaces.

I said that for a long time before, but recently I got to understand just how much work k8s can "take away" when I foolishly said "eh, it's only one server, I will run this the classic way. Then I spent 5 days on something that could be handled within an hour on k8s, because k8s virtualized away HTTP reverse proxies, persistent storage, and load balancing in general.

Now I'm thinking of deploying k8s at home, not to learn, but because I know it's easier for me to deploy nextcloud, or an ebook catalog, or whatever, using k8s than by setting up more classical configuration management system and deal with inevitable drift over time.

Re: Why is Kubernetes getting so popular?

#44

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 scrip…

I've only ever used cfengine and Ansible, but they are both declarative. Hell, Ansible uses yaml files too.

I would be somewhat surprised to find out Puppet and Chef weren't declarative either. Because setting up a system in an imperative fashion is ripe for trouble. You may as well use bash scripts at that point.

I've used Ansible for close to 10 years for hobby projects. And setting up my development environment. Give me a freshly installed Ubuntu laptop, and I can have my development environment 100% setup with a single command.

Re: Why is Kubernetes getting so popular?

#45

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…

According to the article you are wrong about "infrastructure as code". Kubernetes is infrastructure as data, specifically YAML files. Puppet and Chef are infrastructure as code. Edit: not sure why the down votes, I was just trying to point out what seems like a big distinction that the article is trying to make.

I think you could think of "infrastructure as code" as he described it as a superset of "infrastructure as data". Both have the benefit of being able to be reproducibly checked into a repo. Declarative systems like Kubernetes/"infrastructure as data" just go even further in de-emphasizing the state of the servers and make it harder to get yourself into unreproducible situations.

Re: Why is Kubernetes getting so popular?

#46

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…

Assuming that like us, you spend the last 10 - 12 years deploying IPv6 and currently running servers on IPv6 only networks, the Kubernetes/Docker network stack is just plain broken. It can be done, but you need to start thinking about stuff like BGP.

Kubernetes should have been IPv6 only, with optional IPv4 ingress controllers.

Re: Why is Kubernetes getting so popular?

#47
post #10

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…

Have you tried or considered Nomad (from the makers of Terraform)?

can it handle networking (including load balancing and reverse proxies with automatic TLS) or virtualized persistent storage? Make it easy to integrate common logging system?

Cause those are the parts that I miss probably the most when dealing with non-k8s deployment, and I haven't had the occasion to use Nomad.

Re: Why is Kubernetes getting so popular?

#48
post #39

K8s is great - if you are solving infrastructure at a certain scale. That scale being a Bank, Insurance Company or mature digital company. If you're not in that class then it's largely overkill/overcomplex IMO when you can simply use Terraform plus managed Docker host like ECS and attach cloud-native managed services. Again the cross cloud portability is a non starter, unless you're really at scale.

k8s as a bunch of other benefits beside just scaling and you can run a single node cluster with the same uptime characteristics as your proposed setup and get all these benefits.

And, we only have to learn one complex system and avoid learning each cloud, one of which decided product names which have little relation to what they do was a good idear

Re: Why is Kubernetes getting so popular?

#49

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…

"I've yet to meet anyone who can easily explain how the CNI, services, ingresses and pod network spaces all work together."

Badly! That'll be $500, thanks for your business.

On a serious note, the whole stack is keeping ok-ish coherence considering the number of very different parties putting a ton of work into it.

In a few years' time it'll be the source of many war stories nobody cares about.

Re: Why is Kubernetes getting so popular?

#50
My question is: Why is only k8s so popular when there are better alternatives for a large swath of users? I believe the answer is "Manufactured Hype". k8s is from a purely architectural standpoint the way to go, even for smaller setups, but the concrete project is still complex enough that it requires dozens of different setup tools and will keep hordes of consultants as well as many hosted solutions from Google/AWS/etc in business for some time to come, so there's a vested interest in continuing to push it. Everyone wins, users get a solid tool (even if it's not the best for the job) and cloud providers retain their unique selling point over people setting up their own servers.

I still believe 90% of users would be better served by Nomad. And if someone says "developers want to use the most widely used tech", then I'm here to call bullshit, because the concepts between workload schedulers and orchestrators like k8s and nomad are easy enough to carry over from one side to the other. Learning either even if you end up using the other one is not a waste of time. Heck, I started out using CoreOS with fleetctl and even that taught me many valuable lessons.

Post reply on HN