Custom Resource Definitions (CRDs)#
CRDs extend the Kubernetes API with your own resource types. Once you create a CRD, you can kubectl get, kubectl apply, and kubectl delete instances of your custom type just like built-in resources. The custom resources are stored in etcd alongside native Kubernetes objects, benefit from the same RBAC, and participate in the same API machinery.
When to Use CRDs#
CRDs make sense when you need to represent application-specific concepts inside Kubernetes: