Overview
This conference talk explores how to create user-friendly Custom Resource Definitions (CRDs) in Kubernetes that avoid common pitfalls. Learn 10 practical tips for developing Kubernetes resource types that are enjoyable for both beginners and experts, including: utilizing status fields effectively for human and machine readability, leveraging condition super-powers, determining when to build a CLI, implementing day-one RBAC, supporting GitOps workflows gracefully, working with status-free objects like policies and classes, appreciating zero values, embedding known types, and effectively operating someone else's CRD through labels and annotations. Drawing from 6 years of Kubernetes extension and operation experience, the speaker illustrates these patterns with real-world examples from ArgoCD, Cert-Manager, Gateway-API, Knative, and Kubernetes.
Syllabus
Making CRDs Delightful: Beyond the Pitfalls - Evan Anderson, Stacklok, Inc
Taught by
CNCF [Cloud Native Computing Foundation]