Introduction
Sometimes you need Kubernetes to understand new types of objects beyond the built-in ones. Custom Resource Definitions (CRDs) let you teach Kubernetes about your own resource types so you can manage them like native objects.
When you want to store and manage application-specific settings inside Kubernetes.
When you need to extend Kubernetes with new resource types for your custom controllers or operators.
When you want to create reusable APIs for your team that behave like built-in Kubernetes resources.
When you want to track the state of external systems inside Kubernetes using custom objects.
When you want to automate workflows by defining new resource types that trigger actions.