CRD
also: Custom Resource Definition
CRD (Custom Resource Definition) is a Kubernetes extension mechanism that allows users to define custom objects and APIs beyond the built-in resource types, enabling declarative management of application-specific resources.
CRD stands for Custom Resource Definition and is a Kubernetes feature that extends the API server to recognize and manage custom resource types. Instead of being limited to built-in resources like Pods, Services, and Deployments, users can define entirely new resource types tailored to their applications.
When you create a CRD, you define the structure, validation rules, and behavior of your custom resource using a YAML manifest. Kubernetes then treats instances of that custom resource identically to built-in resources—you can create, list, update, and delete them using kubectl.
For example, an organization might define a Database CRD to declaratively provision and manage database instances. Once the CRD is installed, users can create instances with kubectl apply -f database.yaml and manage them like any other Kubernetes resource, often paired with a controller that watches for changes and performs the actual provisioning.