
From client-go to controller-runtime: Rebuilding a Kubernetes Controller
In my previous article, I built a Kubernetes controller from scratch using client-go, informers, and workqueues . If you haven't read it yet, you can check it here: 👉 https://dev.to/ankrsinha/from-crds-to-controllers-building-a-kubernetes-custom-controller-from-scratch-3ibk In that project, I built Mini Task Runner , a simplified Tekton-like system where a Task defines container steps and a TaskRun triggers their execution. The controller watches TaskRun resources and creates a Pod that runs those steps. While building the controller with raw client-go primitives helped me understand how Kubernetes controllers work internally, most real-world projects such as Kubebuilder and Operator SDK use a higher-level framework called controller-runtime to build controllers. Other systems like Tekton use similar abstractions built on top of client-go. In this post, I rebuild the same Mini Task Runner controller using controller-runtime and explore how the architecture changes compared to the manua
Continue reading on Dev.to Beginners
Opens in a new tab

