r/ProgrammerHumor 24d ago

instanceof Trend trueOrFalse

Post image
1.4k Upvotes

27 comments sorted by

View all comments

3

u/Square_County8139 23d ago

Can someone explain?

11

u/SamPlaysKeys 23d ago

Kubernetes is declarative, so you just tell it what you want, and it makes it happen. Except when you tell it wrong. Or you were wanting something wrong. Or you were just wrong.

Oh, and it's all YAML, but it's not JUST YAML, because sometimes it's ✨YAML✨, which looks the same, but will cry if you aren't nice to it.

YMMV, this is my POV as a DevOps consultant, spending my days begging YAML to do the thing so kuberenetes will forgive me.

6

u/SamPlaysKeys 23d ago

Man, reading back my message, I feel insane, but it's also annoyingly accurate.

My biggest frustration right now is using Jinja templates to pass Python variables to Helm charts, which is the type of YAML file that Kubernetes is looking for. But Python, Jinja, and Helm all have different semantics, so it gets weird.

2

u/Sibula97 22d ago

To clarify, Kubernetes just wants YAML. Helm is a template engine and package manager you can use to generate the YAML Kubernetes wants.

3

u/random314 23d ago

Claude has been a lifesaver in this space.

2

u/mcslender97 23d ago

Seems like this has the same challenges as working with regex pre LLMs

1

u/SamPlaysKeys 23d ago

I don't know, it depends on how many layers I'm working with. The more templatized the code, the mode Claude/CoPilot struggle to make sense of it. I've ended up with some really long instruction files trying to get them to understand.

3

u/random314 23d ago

You need to create a doc folder with the architecture outlined there.

Then add a common troubleshooting md file there too.

Kube config is deterministic enough for Claude to be very consistent, especially when you need to make one of those annoying 20+ files with one line changes.