Live data from Hacker News

Why is Kubernetes getting so popular?

stackoverflow.blog

261–270 of 681 posts

Re: Why is Kubernetes getting so popular?

#261
post #234

Earlier quoted context omitted.

> What? Setting up a load balancer or nginx is considered complex now? It's not complex to set up a load balancer in a given specific environment. But it's another kind of ask to say "set up a load balancer, but also make it so that the load balancer also exists in future dev environments that can be auto-set-up and auto-teared-down. And also make it so that load balancer will work on dev laptops, AWS, Azure, google,…

Some of those requirements are far-fetched. Multiple cloud environments AND on-prem? Ansible and Vagrant are not perfect, but I think they are far simpler than a single node k8s instance, and more representative of an actual production environment.

I’ve seen my company go multi cloud provider just to appeal to a single client. Now we’ll need multi cloud, multi continent setup to handle European clients. And I’m sure in another 2 years we’ll need our whole stack in China to support another clients requirements.

This is not my strength in any way, but hearing from those teams, Kubernetes will be a godsend

Re: Why is Kubernetes getting so popular?

#262

Earlier quoted context omitted.

So are you saying that, no matter what, if you want to reply your whole infrastructure as code (networks, dmz, hosts, services, apps, backups etc ) that you are going to have to reproduce that somehow (whatever the combo of AWS services are, OR just learn K8S Effectively, "every infrastructure as code project will reimplement Kubernetes in Bash"

Exactly. That's a great way to put it. A bunch of Bash glue reimplementing what Kubernetes already does. Poorly.

Kubernetes is outstanding because proving ol bash scripts were bad and re-writing all Bash glue in Go glue, slapping 150 APIs on top (60 "new" and about hundred "old versions" https://kubernetes.io/docs/reference/generated/kubernetes-ap...), adding few dozen opensource must have projects - so finally it can be called "cloud native" - boom, a new cloud native bash for the cloud is born!

Re: Why is Kubernetes getting so popular?

#263

Earlier quoted context omitted.

Anyone can ssh into a server and apt-get haproxy and tweak the configuration and get it "working" where the definition of working is accepting and routing traffic. But that's just a hobby setup. When people say setting up a load balancer is complex they are talking about professional setups, not a one off software install on a single server.

So give me a (possibly private) ASN, a couple bgp peers, and the frrouting suite. ACME is not difficult either.

But I want to be able to update my haproxy config with a git push, and roll it back with a single command, without sshing into anything, if something goes wrong. I want my everyday administration to be simple. Not the initial setup.

Re: Why is Kubernetes getting so popular?

#264
post #65

Earlier quoted context omitted.

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. G…

Ansible is YAML, but it's definitely imperative YAML - each YAML file is a list of steps to execute. It uses YAML kind of like how Lisp uses S-expressions, as a nice data structure for people to write code in, but it's still code. Sure, the steps are things like "if X hasn't been done yet, do it." That means it's idempotent imperative code. It doesn't mean it's declarative. CFEngine is slightly less imperative, but w…

I agree. It is impressive how much it can orchestrate. It is also very useless in the real cloud because developers there are dealing with higher-level abstractions to solve problems for the business.

The most simplistic task - execute some code in response to even in a bucket - makes kubernetes with all its sophisticated convergence capabilities completely useless. And even if somebody figures this out and puts the opensource project on github to do this on kubernetes - it just going to break at slightest load.

Not to mention all the work to run kubernetes at any acceptable level of security, or keep the cost down, do all patching, scaling, logging, upgrades... Oh, the configuration management itself for kubernetes? Ah sorry, I forgot, there are 17 great open-source projects exists :)

Re: Why is Kubernetes getting so popular?

#265
Every person I know who wants to use k8s has never had to maintain it.

"Developers love it!" Yeah, I'd love someone to drive my car for me, too. Doesn't mean it's a great idea to use technology so complex you have to hire a driver (really several drivers) to use it.

If you already have 3 people working for you that (for example) understand etcd's protocols or how to troubleshoot ingress issues or how to prevent (and later fix) crash loops, maybe they can volunteer to babysit your cluster for you, do all the custom integration into the custom APIs, keep it secure, etc. But eventually they may get tired of it and you'll have to hire SMEs.

If you're self-hosting a "small" k8s cluster and didn't budget at least $500k for it, you're making a mistake. There are far simpler solutions to just running a microservice that don't require lots of training and constant maintenance.

Complexity isn't always bad, but unnecessary complexity always is.

Re: Why is Kubernetes getting so popular?

#266
post #113

Earlier quoted context omitted.

So terraform is a higher-order, meta-Kubernetes. It's very rarely used, but who provisions the cluster itself? That's terraform. So terraform creates the cluster, DNS and VPC. Then k8s runs pretty much everything.

How are you deploying the workloads into the cluster? Manual kubectl or Helm, GitOps with something like Flux, something else?

Spinnaker. Huge. Clunky. But excellent if you can justify it.

Re: Why is Kubernetes getting so popular?

#267
post #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/…

Nomad isn't really feature mature or user friendly enough, you still eventually need 100 bolt-ons.

I think a Distributed OS is the only sane solution. Build the features we need into the kernel and stop futzing around with 15 abstractions to just run an isolated process on multiple hosts.

Re: Why is Kubernetes getting so popular?

#268
post #244

In my humble opinion because there is so much money and marketing behind it. If you go attend the OSS summit all the cloud players are sending evangelizers and having the whole conference to be about Kbuernetes. Then a lot of people drink the koolaid and apply it everywhere / feel they're behind if they aren't in Kubernetes. We are not in Kubernetes and have multiple datacenters with thousands of VMs/containers. We a…

There is quite a bit of latency added whenever you use a containers.

IMO containers are greatest for stateless apps that don't require much resources, but having a dedicated machine for them is a waste.

Re: Why is Kubernetes getting so popular?

#269
post #234

Earlier quoted context omitted.

> What? Setting up a load balancer or nginx is considered complex now? It's not complex to set up a load balancer in a given specific environment. But it's another kind of ask to say "set up a load balancer, but also make it so that the load balancer also exists in future dev environments that can be auto-set-up and auto-teared-down. And also make it so that load balancer will work on dev laptops, AWS, Azure, google,…

In my mind standardisation is how we really solve problems in much of software development. Everything before that is just practice and/or hacks.

> In my mind standardisation is how we really solve problems in much of software development.

I've been having this thought very often lately.

The only way for humans to do something faster is to use a machine. Any machine is built on some assumption that something is repeatedly true, that some things can be repeatedly interacted with in the same way.

Finding true invariants is very hard, but our world is increasingly malleable. Over time it is getting easier to invent new invariants and pad things out so that the invariant holds.

Re: Why is Kubernetes getting so popular?

#270

Earlier quoted context omitted.

IaaS is not "the cloud". it was in 2008 when all we had was EC2 and RDS. Today Kubernetes is the antithesis of the cloud - Instead of consuming resources on demand you're launching VMs that need to run 24/7 and have specific roles and names like "master-1". Might as well rent bare-metal servers. It will cost you less.

> Might as well rent bare-metal servers. It will cost you less. Long term, but up front costs are what make cloud services appealing. FWIW, it's possible to minimize your idle VM costs to an extent. For example, you could use one or more autoscale groups for your cluster and keep them scaled to one vm each. Then use tools like cluster auto scaler to resize on demand as your workload grows. You are correct that idle v…

> > Might as well rent bare-metal servers. It will cost you less.

> Long term, but up front costs are what make cloud services appealing.

There are no up front costs. GP said rent dedicated, not buy your own metal. If there's anything in cloud it's the many pre-written services (queue, database etc) but GP is right: if you go k8s you aren't going to use many/at all so why not just go and rent cheap servers that get deployed in two minutes instead of renting expesive virtual servers which get deployed in a few seconds?

Post reply on HN