CKAD Exam Preparation Guide

Khimananda Oli 10 min read Virtualization
CKAD Exam Preparation Guide

By Khimananda Oli | Last reviewed: August 2026

The Certified Kubernetes Application Developer (CKAD) exam is a high-pressure, performance-based assessment that tests your ability to design, build, and troubleshoot containerized applications in real time. Unlike multiple-choice certifications, passing requires muscle memory with kubectl and a deep understanding of Kubernetes primitives under a strict two-hour clock. This CKAD Exam Preparation Guide provides the structured approach, lab environment specifications, and imperative command workflows necessary to succeed in the 2026 exam cycle.

What does the 2026 CKAD Exam Preparation Guide curriculum cover?

The Cloud Native Computing Foundation (CNCF) updates the CKAD exam domain regularly to reflect current production Kubernetes versions. As of mid-2026, the exam runs on Kubernetes v1.33 or later. Your study plan must align with the official curriculum weightings, as spending weeks on deprecated APIs or low-weight topics is a common failure mode. The exam consists of 16–20 performance-based tasks across five domains.

CKAD 2026 Curriculum DomainsApplicationDesign & Build20%ContainerDeployment20%Observability& Maintenance15%Services &Networking20%Security25%• Build multi-container Pods, Jobs, CronJobs, custom resources• Deployments, Rollouts, Helm charts, image building• Probes, logging, monitoring, debugging CrashLoopBackOff• Services, Ingress, NetworkPolicies, DNS resolution• ServiceAccounts, RBAC, SecurityContexts, Secrets, ConfigMaps
Figure 1: The five CKAD 2026 curriculum domains with their relative exam weightings and core task areas.

Security has grown significantly in importance since 2024, now accounting for 25% of the exam. Tasks frequently require configuring SecurityContext, managing ServiceAccount tokens, and applying RBAC policies to restrict namespace access. Do not treat security as an afterthought; it is often the highest-value domain. For application design, expect to create Jobs, CronJobs, and multi-container Pods using patterns like sidecars or init containers. Understanding resource limits and requests is mandatory, as misconfigured resources are a frequent cause of task failure during grading.

For observability, you must be comfortable debugging live issues. Tasks may ask you to fix a failing deployment, identify why a Pod is stuck in Pending, or extract logs from a specific container in a multi-container Pod. Familiarity with debugging CrashLoopBackOff states directly translates to points in this section. Services and networking tasks typically involve creating ClusterIP or NodePort services, configuring Ingress resources with path-based routing, and implementing NetworkPolicies to restrict traffic flow between namespaces.

How do you set up an effective CKAD lab environment?

You cannot pass CKAD by reading documentation alone. The exam is entirely hands-on, and your speed depends on how quickly you can type commands and validate results. Your lab environment must mirror the exam conditions as closely as possible. I recommend using kind (Kubernetes IN Docker) or minikube with the containerd runtime, as these tools spin up clusters in seconds and allow you to reset state instantly when practicing repetitive tasks.

Essential shell configuration

Before solving a single practice problem, configure your shell to reduce keystrokes. Every second saved on typing compounds across 20 questions. Add these aliases to your .bashrc or .zshrc:

# Essential CKAD aliases
alias k=kubectl
alias kg='kubectl get'
alias kd='kubectl describe'
alias ke='kubectl exec -it'
alias kl='kubectl logs'
alias kdel='kubectl delete'
alias kaf='kubectl apply -f'
alias kdry='kubectl run --dry-run=client -o yaml'

# Auto-completion (mandatory)
source <(kubectl completion bash)
complete -o default -F __start_kubectl k

# Set default editor for kubectl edit
export KUBE_EDITOR=nano

The --dry-run=client -o yaml pattern is the single most important skill for the exam. It generates valid YAML scaffolding without contacting the API server, allowing you to redirect output to a file, modify only the required fields, and apply immediately. Never write YAML from scratch during the exam unless absolutely necessary. If you need to understand how local Kubernetes tools compare for practice, review the trade-offs between kind and minikube before committing to one.

Practice cluster specifications

  • Kubernetes version: Match the current exam version (v1.33+ as of August 2026). API deprecations happen frequently; practicing on v1.28 will teach you removed fields.
  • Node count: Use at least 2 nodes to practice scheduling constraints, taints, tolerations, and node affinity.
  • CNI: Use Calico or Cilium to enable NetworkPolicy testing. The default kindnet CNI does not support NetworkPolicies, and you will encounter them on the exam.
  • Ingress controller: Install NGINX Ingress Controller via Helm to practice Ingress resource creation and path-based routing.
  • Metric server: Required for HorizontalPodAutoscaler tasks. Enable it explicitly in kind or minikube addons.

Which imperative kubectl commands save the most time?

Speed separates those who pass from those who run out of time. Memorizing these imperative generators eliminates manual YAML authoring for 80% of exam tasks. Practice each until you can type them without referencing documentation.

Imperative Command WorkflowRead TaskIdentify resource typekubectl create/run--dry-run=client-o yaml > /tmp/res.yamlEdit YAMLAdd labels, env, probeskubectl apply -fValidate & verifyHigh-Frequency Imperative Generatorsk run nginx --image=nginx --restart=Never --dry-run=client -o yaml > pod.yamlk create deploy web --image=nginx:1.27 --replicas=3 --dry-run=client -o yaml > deploy.yamlk create job batch-job --image=busybox --dry-run=client -o yaml > job.yamlk create cronjob cleanup --image=busybox --schedule="*/5 * * * *" --dry-run=client -o yamlk expose deploy web --port=80 --target-port=8080 --type=ClusterIP --dry-run=client -o yamlk create ns staging --dry-run=client -o yaml > ns.yaml
Figure 2: The imperative command workflow reduces YAML authoring time by generating scaffolding via dry-run, then editing only required fields.
Task TypeImperative GeneratorKey FlagsCommon Pitfall
Single Podk run NAME --image=IMG--restart=Never, --env, --labelsForgetting --restart=Never creates a Deployment, not a Pod
Deploymentk create deploy NAME --image=IMG--replicas, --port, --dry-run=client -o yamlUsing k run instead of k create deploy for multi-replica workloads
Job / CronJobk create job/cronjob NAME--schedule, --image, --commandMissing restartPolicy: Never in Job spec causes validation errors
Servicek expose RESOURCE NAME--port, --target-port, --typeConfusing --port (service) with --target-port (container)
ConfigMap / Secretk create configmap/secret NAME--from-literal, --from-file, --from-env-fileNot base64-encoding Secret data when using --from-literal (auto-encoded)
Namespacek create ns NAME--dry-run=client -o yamlApplying to wrong namespace due to missing -n flag

Always set your context and namespace at the start of each task: k config use-context CLUSTER_NAME followed by k config set-context --current --namespace=TARGET_NS. This prevents accidental modifications to the wrong namespace, which is an automatic zero for that task. Verify your context before every apply with k config view --minify.

How should you manage time during the CKAD exam?

The CKAD exam gives you 2 hours for 16–20 tasks. That averages 6–7 minutes per task, but difficulty varies wildly. Some tasks take 90 seconds; others require 15 minutes of debugging. Time management is a technical skill tested as rigorously as Kubernetes knowledge itself.

The triage method

  1. First pass (0–90 minutes): Complete all tasks you can solve in under 5 minutes. Flag difficult questions using the exam UI's bookmark feature. Do not spend more than 5 minutes on any single question during this pass.
  2. Second pass (90–110 minutes): Return to flagged questions. These typically involve multi-step debugging, NetworkPolicy troubleshooting, or complex Helm operations. Apply systematic debugging: check events, describe resources, verify labels/selectors.
  3. Final pass (110–120 minutes): Review all answers. Ensure you applied changes (not just edited files), verified resource status, and answered every sub-task. Partial credit exists; attempt every question even if incomplete.

A common mistake is getting stuck on a single hard question early and running out of time for easier ones later. The exam interface allows navigation between questions freely—use it. If a task mentions Helm and you are less confident there, bookmark it and return after securing points from imperative command tasks where you have stronger muscle memory. For teams preparing together, reviewing Helm templating patterns before the exam closes this gap efficiently.

Verification discipline

Never assume a command succeeded. After every kubectl apply, immediately run kubectl get RESOURCE -w or kubectl rollout status to confirm the desired state. Grading scripts check actual cluster state, not your YAML files. If a Deployment shows 0/3 READY after 60 seconds, something is wrong—investigate immediately rather than moving on. Use kubectl describe liberally; the Events section reveals scheduling failures, image pull errors, and probe failures faster than any other tool.

What are the most common CKAD exam mistakes to avoid?

Having mentored dozens of engineers through CKAD preparation, I see the same failure patterns repeatedly. Avoiding these mistakes improves your pass probability more than learning additional obscure APIs.

Common Mistakes vs. Corrective Actions❌ Common Mistakes1. Writing YAML from scratch manually2. Ignoring --dry-run=client validation3. Not setting namespace context per task4. Skipping verification after apply5. Spending >10 min on one question6. Forgetting restartPolicy in Jobs7. Using wrong API version (deprecated)8. Not reading all sub-tasks carefully✅ Corrective Actions1. Always use imperative generators + edit2. Validate syntax before applying to cluster3. Set context + namespace at task start4. Watch rollout status / get -w always5. Bookmark and return during 2nd pass6. Use k create job generator (sets policy)7. Check kubectl api-resources for version8. Tick off each sub-task as completed
Figure 3: Side-by-side comparison of frequent CKAD exam mistakes and the corrective practices that prevent point loss.

Writing YAML from scratch: This is the number-one time sink. Even experienced engineers make indentation errors or forget required fields when typing YAML manually. Always generate a template first, then edit. The only exception is when modifying an existing resource via kubectl edit, which opens the current manifest directly.

Ignoring the allowed documentation: You have access to kubernetes.io/docs, kubernetes.io/api, and helm.sh/docs during the exam. Learn to search these efficiently using browser bookmarks or keyword searches. Do not waste time trying to remember exact field names for rarely-used resources like PriorityClass or RuntimeClass; look them up. However, never open Stack Overflow, GitHub issues, or blog posts—they are blocked and attempting to access them may flag your session.

Not practicing with the exam simulator: The CNCF provides a free exam simulator. Use it at least twice before your real exam. The interface, terminal behavior, and copy-paste quirks differ from standard terminals. Discovering that paste requires Ctrl+Shift+V during the actual exam costs precious seconds and mental energy. Additionally, ensure your testing environment meets PSI requirements: clear desk, external webcam positioning, and no background noise. Technical check failures account for a significant portion of exam reschedules.

Neglecting persistent storage concepts: While CKAD focuses on applications, PersistentVolumeClaims and StorageClasses appear regularly. Understand the binding process, access modes, and reclaim policies. Practice creating PVCs imperatively and mounting them in Pods. Confusion between volumeMounts (container-level) and volumes (pod-level) is a frequent source of YAML errors.

Next steps for your CKAD journey

This CKAD Exam Preparation Guide gives you the framework, but execution determines outcomes. Build your lab today, configure your aliases, and complete at least 30 timed practice sessions before scheduling your exam. Focus on weak domains identified through mock exams, particularly Security and Services & Networking given their 2026 weightings. Track your average task completion time; when you consistently finish practice sets with 15+ minutes remaining, you are ready.

If you need personalized guidance on your CKAD preparation strategy, want to validate your lab setup against current exam requirements, or require team training for your engineering organization, reach out through my contact page. I help developers and DevOps teams build production-grade Kubernetes skills that extend far beyond certification. Whether you are preparing individually or upskilling a team in Nepal or globally, structured mentorship accelerates readiness significantly.

Frequently Asked Questions

You must achieve a minimum score of 66 percent to pass the Certified Kubernetes Application Developer exam. Scores are typically released within twenty-four hours after completing the proctored session.

The standard registration fee is 395 USD. Bundles including training or retakes often provide better value for candidates needing extra preparation resources before scheduling their official attempt.

No, you must use the provided browser-based terminal and editor. External IDEs, tabs, and applications are strictly prohibited during the proctored session to maintain exam security and integrity.

Yes, bash completion is preconfigured in the exam terminal. You should still practice configuring it manually using source less than etc slash bash_completion to ensure muscle memory works if the environment resets.

Three years.

The exam currently tests against Kubernetes version 1.32. Always verify the specific version on the CNCF curriculum page before studying, as updates occur shortly after upstream stable releases.

No, Helm is not part of the CKAD curriculum. Focus entirely on native kubectl commands, YAML manifests, and core API objects like Deployments, Services, ConfigMaps, and Secrets for application configuration.

Yes, most registrations include one free retake valid for twelve months. Schedule your second attempt only after addressing specific weak areas identified during your initial practice sessions and mock exams.

Memorizing full YAML is inefficient. Instead, master kubectl imperative commands and dry-run output to generate base manifests quickly, then edit specific fields using the integrated vi or nano editor.

Only kubectl, vi, nano, cat, grep, and standard Linux utilities are permitted. Documentation access is restricted to specific kubernetes.io and helm.sh subdomains listed in the official candidate handbook.

Approximately nineteen to twenty performance-based tasks.

Minimal coverage exists for node issues relevant to app developers. Deep cluster administration, CNI debugging, and control plane maintenance belong to CKA; focus CKAD study on pod lifecycle, networking, and observability.

Use timed labs with strict fifteen-minute limits per task. Practice skipping difficult problems immediately and returning later, as all questions carry different weights and partial credit is rarely awarded.

Yes, implementing and troubleshooting NetworkPolicies is a core competency. Practice creating ingress and egress rules using label selectors, and understand how default-deny policies interact with existing service mesh configurations.

Yes, provided your system meets PSI Secure Browser requirements. Ensure pop-up blockers are disabled, multiple monitors are disconnected, and your webcam passes the automated compatibility check before exam day.