Hacker News new | ask | show | jobs
by mathw 1817 days ago
Kubernetes absolutely doesn't require extensive knowledge of Docker. At least not if you're using a managed, hosted Kubernetes platform, maybe it's different if you're running your own. But it takes almost no knowledge of Docker to stick a .NET 5 build into a Docker container and not a lot of knowledge of Kubernetes to write a deployment manifest which sticks that container in five replicas over however many physical nodes with a service to allow other services in the cluster to call it, or an ingress controller to expose it to the outside world, even with config being injected through the container manifests (admittedly being hugely helped here by how .NET config picks stuff up from environment variables now).

I've found Kubernetes is very well structured, and allows you to ignore just about anything you aren't actively in need of using. I'm sure it gets incredibly complex if you really need all of its power, but based on what my team have done so far with it? I doubt there are many people who are actually going there.

Okay so we're building something that has been mentioned as being "too simple" for Kubernetes and "you could run that on App Service" (we're on Azure hosting), but having looked into that option... Kubernetes is easier. It's pretty open about what it's doing, there's loads of knowledge out there to draw on, and it does what you tell it to. Sure there are Kubernetes concepts you have to learn, but like I said above you don't need to learn all of them at once, and it's pretty easy to get started with deployments and replicas and services.

Kubernetes is a fantastic example, in my opinion, of a product designed to solve a set of very complex problems which actually solves those problems in a decent way rather than just changing them into different, equally complex problems, which just about everything I've used in the past seems to.