Live data from Hacker News

Why is Kubernetes getting so popular?

stackoverflow.blog

91–100 of 681 posts

Re: Why is Kubernetes getting so popular?

#91

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…

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"

Re: Why is Kubernetes getting so popular?

#92

Earlier quoted context omitted.

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.

Until it breaks.

Re: Why is Kubernetes getting so popular?

#93
I'll add my use case: we use hosted kubernetes to deploy all of our branches of all of our projects as fully functional application _stacks_, extremely similarly to how they will eventually run in production. Want to try something and show it to someone in the product owner level? Ok there will be a kube nginx-ingress backed environment up in build-time + a few minutes.

The environments advertise themselves via that same modified ingress's default backend. We stick a tiny bit of deploy yaml in our projects, the deployments kube tagging gives us all the details we need to provide diffs, last build time, links to git repos, web sites etc for the particular environment. The yaml demonstrates conclusively how an app could or should be run, regardless of os or software choice, so when we hand it to ops folks there is a basis for them to run from.

Re: Why is Kubernetes getting so popular?

#94
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/…

> I still believe 90% of users would be better served by Nomad.

Well sure, but if the story just ended with "everyone use the least exciting tool", then there'd be few articles for tech journals to write.

But Kubernetes promises so much, and deep down everyone subtly thinks "what if I have to scale my project?" Why settle for good enough when you could settle for "awesome"? It's just human nature to choose the most exciting thing. And given that I do agree that there's some manufactured hype around Kubernetes, it isn't surprising to me why few are talking about Nomad.

Re: Why is Kubernetes getting so popular?

#95

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…

Services create a private internal DNS name that points to one or more pods (which are generally managed by a Deployment unless you're doing something advanced) and may be accessed from within your cluster. Services with Type=NodePort do the same and also allocate one or more ports on each of the hosts which proxies connections to the service inside the cluster. Services with Type=LoadBalancer do the same as Type=NodePort services and also configure a cloud load balancer with a fixed IP address to point to the exposed ports on the hosts.

A single Service with Type=LoadBalancer and one Deployment may be all you need on Kubernetes if you just want all connections from the load balancer immediately forwarded directly to the service.

But if you have multiple different services/deployments that you want as accessible under different URLs on a single IP/domain, then you'll want to use Ingresses. Ingresses let you do things like map specific URL paths to different services. Then you have an IngressController which runs a webserver in your cluster and it automatically uses your Ingresses to figure out where connections for different paths should be forwarded to. An IngressController also lets you configure the webserver to do certain pre-processing on incoming connections, like applying HTTPS, before proxying to your service. (The IngressController itself will usually use a Type=LoadBalancer service so that a load balancer connects to it, and then all of the Ingresses will point to regular Services.)

Re: Why is Kubernetes getting so popular?

#96
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're using isn't making it easier for you to run your infrastructure from memory, reduce the use of executive function and decrease frustration then you should ignore it. Don't fall for the fashion trends.

Re: Why is Kubernetes getting so popular?

#97

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?

Re: Why is Kubernetes getting so popular?

#98

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…

There's an offshoot of this that I see from developers, especially at old, stodgy companies.

Once everything is "infrastructure as code", the app team becomes less dependent on other teams in the org.

People like to own their own destiny. Of course, that also removes a lot of potential scapegoats, so you now mostly own all outages, tech debt, etc.

Re: Why is Kubernetes getting so popular?

#99
Call me biased [1] but K8s will take over the world! Yes you get containers and micro-services and all that good stuff, but now with Anthos [2] its also the best way to achieve multi-cloud and hybrid architectures. What's not to like!

1. I work for GCP 2. https://cloud.google.com/anthos/gke

Re: Why is Kubernetes getting so popular?

#100
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. But I think k8s took a lot of attention away from Docker in terms of headspace and developer interest. RedHat for example is pushing CRI-O, which is a minimalist CRI-compliant runtime which lets admins focus even more on k8s and less on the whole runtime level.
Post reply on HN