Kubernetes programming: CRD, controller and operator learning materials

10/14/2021

I am learning Kubernetes as there are more and more companies building their infra on it. And as a DevOps and SRE guy, I found it quite useful to use Custom Resources and Operators in Kubernetes to help users alleviate their burden when deploying new app to the cluster, since I can summarize useful apps and define templates for them. These templates are CRD and Operators.

Question

I wonder if there is a dedicated materials or courses on learning how to program my own CRD, controller and operator; with milder learning curve than looking at source code. Preferrably a series of courses.

Things I've already done:

  1. I've download the sample controller and learned to use it. However, I found that my understanding of the controller is still not enough to build a controller from scratch.

  2. I've also searched for courses at udemy. However almost all of them are on how to build and operate k8s, which is the most basics that I already knew.

  3. I've searched for material on google and medium. A lot of older materials are obsolete (e.g. the resource group for deployment was still extensions rather than apps) or not detailed enough.

  4. I've also looked into popular templates of the source code in operatorhub.io. However, the learning curve to read the source code is truly way too steep.

-- R. Liu
kubernetes
kubernetes-operator

0 Answers