
From CRDs to Controllers: Building a Kubernetes Custom Controller from Scratch
Authors Ankur Sinha Aditya Shinde If you’ve spent any time in the cloud-native ecosystem, you’ve likely used tools like Tekton , Argo Workflows , or Crossplane . They feel like magic: you define some custom configurations, apply them, and suddenly Kubernetes is orchestrating complex CI/CD pipelines or provisioning cloud infrastructure. But have you ever wondered how that magic actually works? Recently, I decided to peel back the curtain and build Mini Task Runner —a simplified, Tekton-like task execution system built from scratch. In this post, we are going to dive deep into Kubernetes extensibility. We’ll explore why Custom Resources exist, how they interact with etcd and the Kube API Server, why code generation is mandatory, and how to write a production-grade, event-driven Controller. You can find the full source code for this project on my GitHub: ankrsinha/mini-task . 1. The Extensibility Problem: Going Beyond Pods and Deployments Out of the box, Kubernetes understands a specific
Continue reading on Dev.to DevOps
Opens in a new tab

