Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • K8s is a reconciliation engine for desired state, like many other adjacent tech in the infra space. Hating on yaml, json, missing types, or templating layers that drive the engine is kind of silly, and usually missing the point.. like hating dbs because you take issue with a sql layer or an orm layer. Disliking one or the other isn’t a deal breaker that invalidates the value proposition, so you may want to consider the other one before you retreat to flat text in csvs.

    Kubernetes can be driven with tofu and hcl.. make it operator and even driven.. use any of many sdks, cdks to drive it, or add a completely different layer for faas or orchestration if that’s the relevant vocab for your problem space. It all runs on k8s.. that’s kinda the point.

  • Thanks for writing this up. The prose was really pleasant to read, a treat in this day.
  • My own version of this is that I was actually quite pleasantly surprised using k8s for the first time, expecting it to be much more complicated, but then pretty shocked at how complicated the ecosystem around it is.
  • Using literally anything other than helm will make your life 100x better with k8s.
  • > Why does it not matter if the state is unstable? If I'm operating a cluster that can't settle, I'd like to know immediately!

    Because it's probably an impossible to answer question hinging on each person's pet definition of "stable".

    In one example of an unstable cluster, pods are "regularly" crashing — but at a really low frequency, like, each pod crashes onces every few days. They're OOM'ing — a bug in the workload, not really the cluster's fault — but the control loop pattern still ensures the failure is corrected in the sense that the pod will either be restarted or evicted and re-created.

    (But yes, you absolutely want monitoring to pick up on that. In the specific example here, I'd say it's "just monitor pod failures", and then you get not only OOMs, but all the other ways a workload might crash too.)

    I've actually had more problems when the control loops get stuck. (Which they can, almost always because you've asked for the impossible. But sometimes it is hard for the various pieces to say more than "no solution". Why no solution is usually a human-level deduction.)

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

    Since Kubernetes 1.23, there's support for using "custom metrics" to control HPAs: https://kubernetes.io/blog/2026/07/14/custom-metrics-exporte...

    Is it somewhat convoluted to setup? Absolutely! But it's possible to use relatively robust and well supported built in controllers with custom metrics.

  • 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.

  • 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.

Explore Birbla archives