DevOps Dictionary

Custom Resource Definition (CRD)

Custom Resource Definition (CRD) is a Kubernetes API extension that lets you introduce new, domain-specific resource types into a cluster so they can be created, updated, and queried like built-in objects such as Pods or Services. A CRD registers a new kind with the Kubernetes API server and defines its schema (the allowed fields and their types), enabling Kubernetes-native behaviors like validation, versioning, and persistence in etcd; a controller or operator then watches these custom resources and continuously reconciles them, meaning it drives the underlying changes needed to match the desired state you declared.

With a Custom Resource Definition (CRD), teams can model platform and application intent as first-class Kubernetes objects and automate lifecycle workflows consistently, while without it they often rely on scripts, external databases, or bespoke APIs that are harder to standardize, audit, and keep in sync. This gap exists because Kubernetes can only act on resources it understands through its API, and CRDs are how you teach it new primitives.

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
X
Z