3 ms·
We're still struggling to figure out why people want to use Kubernetes. I don't mean that is a "Kubernetes" is bad kinda way and we sell a lot of Kubernetes, bo
by mrweasel 6y ago
We're still struggling to figure out why people want to use Kubernetes. I don't mean that is a "Kubernetes" is bad kinda way and we sell a lot of Kubernetes, both running clusters and just general consulting.
It's really really hard to find customers who couldn't just run their containers on one or two VMs. More and more we see the developers getting Kubernetes added to the requirement, and then they show up with as little as ONE container.
The argument I often hear is: Then we can scale up during peak hour. Well.. yes, but this is a cluster limited to just you. You still need to pay for the workers nodes and the control plan. Those don't just turn off. Most people seem to not grasp that running Kubernetes is often more expensive than running VMs or EC2 instances.
You need to have a large number of smaller containers and a lot of interaction between these containers for Kubernetes to make much sense, in my opinion. It's a solution for a small subset of problem, and if your solution is outside that subset, the management overhead might not be worth it.
- maccard 6y ago> It's really really hard to find customers who couldn't just run their containers on one or two VMs If it runs on two VMs, how do you handle networking between them, or updating the containers? Once you actually start to run a container, kubernetes solves a bunch of problems straight away that you have to solve yourself if you use something elelse > You still need to pay for the workers nodes and the control plan. Surely if you're running k8s at any scale you're auto scaling your worker nodes, and if you're spending enough to actually scale your workers the cost of the control plane is negligible compared to the rest (i.e. on aws it's $30/month per cluster)
- mrweasel 6y ago> If it runs on two VMs, how do you handle networking between them, or updating the containers? You do know that networking existed before containers right? In our case though: We already have a large multi-tenant load balancer, so any traffic that needs be able to hit either containers is routed that way. Inter-container communication is just run over the networks as you would any normal application. Deployment, that's a little tricky, and here Kubernetes do present good, but confusing way of managing deployments. However, we find that for most setups Ansible is actually just fine. Remove the VM from the load balancer, upgrade that VM, swap it out for the other VM and upgrade that. This is something we sovled before Kubernetes was available. It's my belief though that many of those developers who want Kubernetes actually want kubectl, because it's an easy way for them to deploy code to production. They in fact don't really care what runs their code in the end. I mostly deal in onprem Kubernetes, so autoscaling workers isn't really a thing. The hardware NEEDS to be present at all time. Your point about the cost of the control plan VMs is correct, but what if your application runs fine on roughly the same resources as the a control plan node? (something like 4GB of RAM vs. 2GB and maybe 2 CPUs) My issue is that I see people pick Kubernetes for insanely small projects.
- maccard 6y ago> You do know that networking existed before containers right? I do, but the point of my question was that kubernetes solves networking, and load balancing, and upgrading, and many other issues. > It's my belief though that many of those developers who want Kubernetes actually want kubectl, You're not wrong - kubectl is half the reason I use kubernetes. Solving the problems it does is reason enough to use it.
- mrweasel 6y ago> You're not wrong - kubectl is half the reason I use kubernetes. Solving the problems it does is reason enough to use it. And that is honestly perfectly reasonable. I'd argue that it doesn't come for free, but if the benefits outweigh the cost then go for it. Again, I just don't often see customers who have so clearly argued as to why they'd need Kubernetes and not for instance Nomad.
- deleted 6y ago[deleted]