CKAD Labs
Thirteen labs for the CKAD Track. Labs 02 to 06 are cumulative: they share one podinfo Deployment and each states the state it expects and leaves, so do them in order after Lab 01. Labs 07 to 13 each use their own namespace and stand on their own.
Lab CKAD-01 also builds the kind cluster that the CKA Labs and CKS Labs start from.
| Lab | Title | Core Focus | Controlled Failure Scenario |
|---|---|---|---|
| CKAD-01 | Cluster Setup & Orientation | Multi-node kind cluster, control plane and worker inspection | Node failure and recovery |
| CKAD-02 | Deploying the Application | Deployment, ReplicaSet and Pod ownership, the generated selector | A Pod ignored, adopted and released as its labels change |
| CKAD-03 | Updates & Rollbacks | maxSurge and maxUnavailable, rollout history, rollout undo | Bad image tag causing ImagePullBackOff |
| CKAD-04 | Workload Configuration & Secrets | ConfigMaps and Secrets as environment variables and mounted files, what kubectl apply does and does not remove | Stale values surviving an apply; missing key causing CreateContainerConfigError |
| CKAD-05 | Services & DNS | ClusterIP, EndpointSlices, DNS search path, NodePort | Selector typo, wrong targetPort, unready Pod |
| CKAD-06 | Observability & Troubleshooting | metrics-server, logs, kubectl debug, exit codes | One-off exit, crash loop and OOM kill |
| CKAD-07 | Kustomize, Drift & API Deprecations | Base and overlays, server-side apply ownership, migrating a removed API version | Apply refused by a field ownership conflict |
| CKAD-08 | Build & Ship Container Images | Build, tag, modify, save and load, running a local image | latest tag forcing a registry pull |
| CKAD-09 | Ingress | IngressClass, host and path rules, TLS from a Secret | Wrong class, wrong port, no endpoints |
| CKAD-10 | Jobs, CronJobs & Multi-Container Pods | Completions and parallelism, schedules, init containers, sidecars, shared volumes | Job past its backoff limit; init container that never finishes |
| CKAD-11 | Helm Release Lifecycle | Values, install, upgrade, history, rollback, uninstall | Upgrade that does not come up |
| CKAD-12 | Blue/Green & Canary Deployments | Two Deployments and one Service, selectors and replica ratios | Selector that catches an unrelated Pod |
| CKAD-13 | Quotas, LimitRanges & Probes | ResourceQuota, LimitRange defaults and bounds, startup, readiness and liveness probes | Three admission rejections; slow start killed by a liveness probe |
DaemonSets and StatefulSets have no lab yet; see the track’s gap table. Test yourself with the CKAD practice set.