Live data from Hacker News

Why is Kubernetes getting so popular?

stackoverflow.blog

161–170 of 681 posts

Re: Why is Kubernetes getting so popular?

#161
post #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 acti…

> By limiting the Docker features they would use, they leveled the playing field between Docker and other runtimes, making Docker much less exciting. Isn't the most popular k8s case to deploy Docker images still though?

Yes. The big difference, however, is that k8s removed docker from consideration when actually running the system. Yes, you have docker underneath, and are probably going to use docker to build the containers.

But deploy to k8s? There's no docker outside of few bits involving "how to get to the image", and the actual docker features that are used are also minimized. The result is that many warts of docker are completely bypassed and you don't have to deal with impact of legacy decisions, or try to wrangle system designed for easy use by developer at local machine into complex server deployment. And, IMHO, interfaces used by k8s for the advanced features are much, much better than interfaces used or exported by docker.

Re: Why is Kubernetes getting so popular?

#162

Earlier quoted context omitted.

Containers are the big difference. Kubernetes is one way to deploy containers. Configuration systems like Ansible/Salt/Puppet/Chef/etc are another way to deploy containers. Kubernetes also makes it possible to dynamically scale your workload. But so does Auto Scaling Groups (AWS terminology) and GCP/Azure equivalents. The reality is that 99% of users don't actually need Kubernetes. It introduces a huge amount of comp…

Hm. Systemd already runs all your services in cgroups, so the same resource limit handles are available. It doesn't do filesystem isolation by default, but when we're talking about Go / Java / Python / Ruby software does that even matter? You statically link or package all your dependencies anyway.

Not only systemd runs your code it also does file system isolation built-in, runs containers, both privileged and non-privileged and sets up virtual networking for free.

systemd-nspawn / machined makes the other systems look like very complicated solutions in search of a problem

Re: Why is Kubernetes getting so popular?

#163

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…

I'm not sure "a plain ol' Django monolith" with none of the "fancy stuff" is either what people are referring to when they say "kubernetes", or a great choice for that. I could run hello world on a Cray but that doesn't mean I can say I do supercomputing. Our team does use it for all the fancy stuff, and spends all day everyday for years now yamling, terraforming, salting, etc so theoretically our setup is "entire ap…

Reading this charitably: I guess I agree. k8s is definitely overpowered for my needs. And I'm almost certain my blog or my business will never need that full power. Fully aware of that.

But I'm not sure one can find something of "the right power" that has the same support from cloud providers, the open source community, the critical mass, etc. [1]

Eventually, a standard "simplified" abstraction over k8s will emerge. Many already exist, but they're all over the place. And some are vendor specific (Google Cloud Run is basically just running k8s for you). Then if you need the power, you can eject. Something like Create React App, but by Kubernetes. Create Kubernetes App.

[1] Though Nomad looks promising.

Re: Why is Kubernetes getting so popular?

#164

Lets use Bazel, and Bazel's rules_k8s to build\containerize\test\deploy only the microservices of my monorepo that changed. Lets use Istio's "istioctl manifest apply" to deploy a service mesh to my cluster that allows me to pull auth logic / service discovery / load balancing / tracing out of my code and let Istio handle this. Lets configure my app's infrastructure (Kafka (Strimzi), Yugabyte/Cockroach, etc) as yaml f…

> k8s is the common denominator that makes all this possible. can't... terraform make all of that possible?

Terraform explicitly doesn't want to deal with deployment of stuff that is inside VMs etc. and tries to tell you to use managed services or cloud-config yamls as the solution.

You can write your own providers, you can use the provisioned support, but TF doesn't like that and it shows.

Re: Why is Kubernetes getting so popular?

#165

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.

Yep, same here. Once you learn it, it is a standardized consistent API and becomes a huge force multiplier

k8s is a lever to scale sysadmins power, not scale services to huge numbers. :)

Re: Why is Kubernetes getting so popular?

#166

Earlier quoted context omitted.

Swarm is still supported and works. I have it running on my home server and love it. Kubernetes is fine, but setting it up kind of feels like I'm trying to earn a PhD thesis. Swarm is dog-simple to get working and I've really had no issues in the three years that I've been running it. The configs aren't as elaborate or as modular as Kubernetes, and that's a blessing as well as a curse; it's easy to set up and adminis…

> setting it up kind of feels like I'm trying to earn a PhD thesis. The kind of people who has to both set the cluster up and keep it up and also has to develop the application and deploy it and keep it up etc is not the target audience. K8s shines when the roles of managing the cluster and running workloads on it are separated. It defines a good contract between infrastructure and workload. It lets different people…

What are Kubernetes' rough edges?

Re: Why is Kubernetes getting so popular?

#167

Earlier quoted context omitted.

> 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 can't you do that just with containers?

But what do you use to manage those containers and surrounding infra (networking, proxies, etc)? I've been down the route of using Puppet for managing Docker containers on existing systems, Ansible, Terraform, Nomad/Consul. But in the end it all is just tying different solutions together to make it work. Kubernetes (in the form of K3s or a other lightweight implementation) just works for me, even in a single server s…

I used to have a bunch of bash scripts for bootstrapping my docker containers. At one point I even made init scripts, but that was never fully successful.

And then one day I decided to set up kubernetes as a learning experiment. There is definitely some learning curve about making sure I understood what deployment, or replicaset or service or pod or ingress was, and how to properly set them up for my environment. But now that I have that, adding a new app to my cluster, and making it accessible is super low effort. i have previous yaml files to base my new app's config on.

It feels like the only reason not to use it would be learning curve and initial setup... but after I overcame the curve, it's been a much better experience than trying to orchestrate containers by hand.

Perhaps this is all doable without kubernetes, and there is a learning curve, but it's far from the complicated nightmare beast everyone makes it out to be (from the user side, maybe from the implementation details side)

Re: Why is Kubernetes getting so popular?

#168

Because Google is an advertising company, their search engine controls what people believe in and they also have some good engineers but they are probably not well known. There is very little they couldn't advertise into popularity. Whenever you see overcomplicated software or infrastructure its always a way to waste executive function, create frustration and create unnecessary mental overhead. If the technology you'…

Please don't criticize, condemn, or complain if you don't have anything constructive to add.

Re: Why is Kubernetes getting so popular?

#169

As a manager i've heard in all my meetings about 'kubernetes', had a look at it and have always been questioning the cost to manage this. What is the cheapest way to setup a production kubernetes on a cloud provider?

Digital ocean has a managed kubernetes service that does not cost anything except the resources you use. The master node and management is free, you only pay the node pools and stuff like block storages (their version of EBS) or load balancers.

Re: Why is Kubernetes getting so popular?

#170
post #8

Earlier quoted context omitted.

Out of curiosity, are you using terraform to deploy k8s, your app stack on k8s, or both?

To follow this - what do you feel K8S provides on top of terraform? We used K8S on a large project and I felt like it really, really wasn't necessary.

They operate at different layers. K8s sits on top of the infrastructure which terraform provisions. It's far more dynamic and operates at runtime, compared to terraform which you execute ad-hoc from an imperative tool (and so only makes sense for the low level things that don't change often).
Post reply on HN