CKAD Exam: A Practical Guide to Passing on Your First Attempt
Reading time: 5 minutes
The Certified Kubernetes Application Developer (CKAD) exam is intimidating. Two hours. Hands-on tasks. A real Kubernetes cluster. No multiple choice questions to guess your way through. Just you, kubectl, and 15-20 scenarios that test whether you can actually do the work, not just talk about it.
I recently passed the CKAD, and here’s what I wish someone had told me before I started preparing.
It’s Not About Memorizing YAML
The biggest misconception? That you need to memorize every field in every Kubernetes manifest. You don’t. The exam is open-documentation - you can access kubernetes.io during the test.
What matters is speed and kubectl fluency. You need to generate YAML faster than you can write it from scratch.
Instead of this:
vim pod.yaml
# ... type everything manually
kubectl apply -f pod.yaml
Do this:
kubectl run nginx --image=nginx --dry-run=client -o yaml > pod.yaml
vim pod.yaml # Make quick edits
kubectl apply -f pod.yaml
Master the imperative commands. They’re your speed multipliers:
kubectl create deployment web --image=nginx --replicas=3
kubectl expose deployment web --port=80 --target-port=8080
kubectl create configmap app-config --from-literal=ENV=prod
kubectl create job backup --image=busybox -- sh -c 'echo backup'
Practice Like You’re Taking the Exam
Here’s what most people get wrong: they practice in a comfortable environment with unlimited time. The exam isn’t comfortable.
Time yourself. Always. Every practice session should have a timer. Can you create a deployment with readiness probes, resource limits, and a ConfigMap mounted as a volume in under 5 minutes? You should be able to.
Set up your environment exactly like the exam:
- Single terminal
- Vim or nano only (no VS Code)
- kubernetes.io in a browser
- A timer visible
Get comfortable with vim basics. You don’t need to be a power user, but know how to:
- Navigate (
hjklor arrow keys) - Enter insert mode (
i) - Save and quit (
:wq) - Search (
/searchterm) - Delete lines (
dd)
The Topics That Actually Matter
The CKAD curriculum is broad, but some topics appear far more frequently than others.
High frequency (expect 3-5 questions each):
- Pods with ConfigMaps and Secrets
- Deployments with rolling updates
- Services (ClusterIP, NodePort)
- Persistent volumes and claims
- Multi-container pods (sidecar, init containers)
Medium frequency (expect 1-2 questions):
- Jobs and CronJobs
- Resource limits and requests
- Liveness and readiness probes
- Network Policies
- Security contexts
Lower frequency but still important:
- Helm basics
- Custom Resource Definitions
- Service Accounts and RBAC
Don’t skip the “boring” topics. A single question on network policies could be the difference between 65% and 67%. The passing score is 66%.
Aliases Will Save You
On exam day, time is currency. Every keystroke matters. Set up these aliases immediately:
alias k=kubectl
export do="--dry-run=client -o yaml"
export now="--force --grace-period=0"
Now instead of:
kubectl run nginx --image=nginx --dry-run=client -o yaml > pod.yaml
You type:
k run nginx --image=nginx $do > pod.yaml
Saved 30 characters. Multiply that across 20 questions.
The Hidden Skill: Troubleshooting
You will make mistakes during the exam. A pod won’t start. A service won’t route traffic. You’ll have a typo in your YAML.
Know these debugging commands cold:
kubectl get pods # Quick status check
kubectl describe pod <name> # Detailed info + events
kubectl logs <pod> -c <container> # Check application logs
kubectl get events --sort-by='.lastTimestamp' # Recent cluster events
The Events section in kubectl describe is gold. It tells you exactly why something failed:
- Image pull errors
- Invalid YAML
- Resource constraints
- Failed probes
What to Do the Night Before
Don’t cram. Seriously. If you don’t know it by now, one more night won’t help.
Instead:
- Do one timed practice exam to warm up
- Review your cheat sheet of commands
- Get a good night’s sleep
The exam is mentally exhausting. You’ll be context-switching between different scenarios every 5-10 minutes. A well-rested brain makes better decisions.
During the Exam
Read the question. Then read it again. The questions are precise. If it asks for a deployment named “web-app” in namespace “production”, those details matter. Wrong namespace = zero points.
Use the exam’s built-in notepad to track your progress. Flag questions you’re unsure about and move on. You can return to them if time permits.
Don’t get stuck. If you’ve spent 10 minutes on a single question, flag it and move forward. Some questions are worth the same points but take half the time.
Verify your work:
kubectl get pods -n production # Did it create?
kubectl get svc web-service # Does the service exist?
kubectl describe pod web-app # Is it actually running?
The Truth About Passing
The CKAD isn’t about being a Kubernetes expert. It’s about being competent enough to ship applications on Kubernetes without breaking things.
Can you create a deployment? Scale it? Update it without downtime? Mount configuration? Connect services? Handle secrets safely? That’s the bar.
Practice hands-on. Every single day. Even 30 minutes of actual kubectl commands beats hours of watching videos.
The exam tests what you can do, not what you know. So practice doing.
Good luck. You’ve got this.
Need practice resources? The official Kubernetes documentation has excellent examples. Killer.sh provides exam-like scenarios. And most importantly: spin up a local cluster (kind, minikube, or Docker Desktop) and just… build things.