CertGrid CertGrid
Hands-on Lab·Certified Kubernetes Application Developer

Custom Resources and the Operator Pattern

CKAD asks you to discover and use resources that extend Kubernetes. The clearest way to understand them is to build one: a CRD gives you a new kind with storage, validation, kubectl support and RBAC - and no behaviour whatsoever. An operator is the controller that supplies the behaviour. Both halves are here, and the difference is visible in one command.

Configuration and Security Guide 31 of 44 Intermediate

Written against the versions above. A CRD is cluster-scoped even when the resources it defines are namespaced, so creating one changes the whole cluster's API surface. The one created here has a deliberately unique group (`ckad.certgrid.test`) and is deleted at the end. Deleting a CRD deletes every object of that kind, everywhere, without further warning.

This cluster already runs several operators - Argo CD, Argo Rollouts, Calico's Tigera operator - which is what makes the discovery step worth doing here rather than on an empty cluster.
Server NameIP AddressOSRolesCPURAMHDD
CKA1001192.168.0.175Ubuntu 26.04 LTSControl Plane Node2 Core4 GB50 GB
CKA1001-NODE01192.168.0.176Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE02192.168.0.177Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE03192.168.0.178Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB

Before you start

  1. What already extends this cluster

  2. A CRD of your own

  3. It behaves like a native object

  4. The schema is enforced

  5. And nothing happens

  6. An operator is the half that acts

Official sources