Hands-on Lab·Certified Kubernetes Administrator
Custom Resources and Operators
A CRD gives you a real Kubernetes resource with validation, printer columns, RBAC and kubectl support, for the cost of one YAML file. It gives you no behaviour at all, and the gap between those two facts is what an operator fills.
Cluster Architecture and Configuration Guide 20 of 103 Intermediate
- Kubernetes1.36.4
- CRD APIapiextensions.k8s.io/v1
- Cluster4 nodes
- TimeAbout 35 min
- Reviewed21 August 2026
Written against the versions above. `apiextensions.k8s.io/v1` requires a structural schema, so the permissive CRDs from older tutorials no longer apply cleanly.
| Server Name | IP Address | OS | Roles | CPU | RAM | HDD |
|---|---|---|---|---|---|---|
| CKA1001 | 192.168.0.175 | Ubuntu 26.04 LTS | Control Plane Node | 2 Core | 4 GB | 50 GB |
| CKA1001-NODE01 | 192.168.0.176 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
| CKA1001-NODE02 | 192.168.0.177 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
| CKA1001-NODE03 | 192.168.0.178 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
Before you start
- The API objects and kubectl guides.
- The RBAC guide, since custom resources need their own rules.
- Cluster-admin, because creating a CRD changes the cluster's API surface.
-
One YAML file adds a resource type
-
It behaves like a built-in resource
-
Validation is enforced by the API server
-
The status subresource, and why it is separate
-
Nothing happens, and that is the whole point of an operator
-
Deleting the CRD deletes every object of that kind