Building Solid Kubernetes Controllers

In the last post, I explained the utility and purpose of Kubernetes Controllers. This post will explain how to build them, and how to think about designing them. We’ll go into Controller patterns, anti-patterns, and sharp edges of the model that you’re bound to run into. controller-runtime - use it. Or don’t, I don’t care. It’ll probably help though. You can absolutely build a controller from scratch using client-go (and sometimes that makes sense), but most of the time you should just get started with controller-runtime....

December 13, 2024 · Tony

kubernetes controllers explained - how your cluster stays in line

Controllers aren’t just add-ons to Kubernetes - they’re fundamental to how the whole system works. They’re the caretakers of your cluster, overseeing and orchestrating processes to ensure your defined resources stay on track. Whether it’s maintaining pod replicas, managing rolling updates, or handling node lifecycles, controllers are there making sure things run smoothly. The Kubernetes documentation explains their job as follows: In Kubernetes, controllers are control loops that watch the state of your cluster, then make or request changes where needed....

December 13, 2024 · Tony

doing k8s on the cheap - my "new" homelab

Most SRE-aligned engineers will tell you they have a home lab. Depending on how grey the beard is, it may be an old blade they acquired when a company moved data centers, an intricate setup of Raspberry Pi 4s set up in a custom cooling rack, or like me and many others, it may just be an old gaming computer they no longer use but cannot bring themselves to get rid of....

December 31, 2023 · Tony