A skeptic's first contact with Kubernetes (2024) (blog.davidv.dev)

55 points by pmoriarty 18 hours ago

sgarland 2 hours ago

I especially enjoyed where you discovered that K8s runs on string interpolation. That feeling never goes away, FYI; every time you have to play with nindent, you lose a little piece of your sanity.

Gravityloss an hour ago

This is partially a tangent, but the whole managing of software infrastructure is a strange culture. There would of course be lots of better ways, but it's too bad the infrastructure side of the software industry lives partially in a parallel world and many of the lessons from elsewhere in the industry are not really widespread there (at least yet). Even banks seem intelligent and innovative compared to infrastructure management mainstream practices.

It's very error prone to describe a hierarchy of versioned software packages and configuration with shell scripts and yaml. Or use text files in git as a database. Or use the CI system as a bad substitute for a proper service (in order to do a simple thing, you must first create the world from scratch). And so on. Mainstream industry knows types, programming languages, relational databases, graphs and you name it, but those have not yet penetrated sufficiently into the infrastructure world. The understanding of the value of having types has been paid in sweat and blood when developing software and databases. Even a basic CRUD application with a basic SQL database will run rings around these Frankenstein monsters: in safety, speed, and extendability.

outworlder an hour ago

> It's very error prone to describe a hierarchy of versioned software packages and configuration with shell scripts and yaml.

We have a multitude of configuration/markup languages all doing the exact same thing.

We have solved this problem in the 60s: S-Expressions. Should have just used that for everything. Configuration, code, websites, you name it. Infinitely extendable, easy to parse.

devin an hour ago

javcasas 22 minutes ago

You can do JSON instead of YAML.

But no one does that because it is significantly uglier. So I guess we don't deserve sanity because we don't want our programs to be ugly?

kryptn an hour ago

I definitely prefer using kustomize over helm, where the mentioned interpolation takes place.

burdock an hour ago

I've written at length about my disdain for text interpolation in helm.

I've done some experiments using Apple's Pkl and CNCF's KCL, which look to solve these problems with a simple "configuration language".

I don't think either have very widespread adoption, though I did hear a while back that Apple is using Pkl internally.

senshan 33 minutes ago

Thev00d00 an hour ago

Using literally anything other than helm will make your life 100x better with k8s.

jazdw an hour ago

> Basically, Horizontal Pod Autoscaler but with sensors which are not just "CPU"

I think you found the answer to that below - KEDA

cmdrk an hour ago

YAML abstracting YAML abstracting YAML abstracting..

sligbad 14 hours ago

Thanks for writing this up. The prose was really pleasant to read, a treat in this day.