Kubernetes CustomResourceDefinition (CRD) is a CustomResourceDefinition, a Kubernetes API extension that adds a custom resource type to a cluster so teams can manage domain-specific objects through the same API patterns used for Pods, Services, and Deployments. A CRD defines a new kind, such as Database, Certificate, Backup, or Environment, and Kubernetes stores those objects in the API server. CRDs are often paired with controllers or operators that watch the custom objects and take action, such as creating cloud infrastructure, rotating certificates, or provisioning application dependencies. They are useful when you want Kubernetes to act as a control plane for your platform, especially in Kubernetes environments that need repeatable infrastructure or application workflows. The main benefit is a consistent declarative interface, but CRDs also add API surface area, versioning work, validation concerns, and operational responsibility, so teams should design them carefully and avoid using them for simple configuration that a ConfigMap could handle.
DevOps Glossary
Kubernetes CustomResourceDefinition (CRD)
A Kubernetes CustomResourceDefinition (CRD) adds a custom API resource type to a cluster for domain-specific objects.