The most comprehensive free CKAD study guide โ all 5 exam domains, 50+ YAML manifests, 30+ practice questions, kubectl cheatsheet, and a proven 2-week study plan to pass the CNCF CKAD certification exam.
๐ Live Website ย ยทย ๐ Start Learning ย ยทย ๐งช Practice Exams ย ยทย โก Quick Reference ย ยทย โ FAQ
The CKAD (Certified Kubernetes Application Developer) is a performance-based certification by the Cloud Native Computing Foundation (CNCF). You complete real tasks in a live Kubernetes cluster โ no multiple choice.
| Property | Details |
|---|---|
| Certification | Certified Kubernetes Application Developer (CKAD) |
| Provider | Cloud Native Computing Foundation (CNCF) / Linux Foundation |
| Duration | 2 Hours |
| Passing Score | 66% |
| Format | Performance-based (hands-on tasks in a live Kubernetes cluster) |
| Kubernetes Version | v1.35 |
| Allowed Resources | kubernetes.io/docs, helm.sh/docs |
| Cost | $395 USD (includes one free retake) |
| Validity | 2 Years |
| # | Domain | Weight | Guide |
|---|---|---|---|
| 1 | Application Design and Build | 20% | Containers, Jobs, CronJobs, Multi-container pods, Volumes |
| 2 | Application Deployment | 20% | Deployments, Rolling updates, Helm, Kustomize, DaemonSets |
| 3 | Application Observability and Maintenance | 15% | Probes, Logging, Monitoring, Debugging, API deprecations |
| 4 | Application Environment, Configuration and Security | 25% | ConfigMaps, Secrets, RBAC, SecurityContext, ResourceQuota |
| 5 | Services and Networking | 20% | Services, DNS, Ingress, NetworkPolicy |
๐ก Domain 4 (Security) has the highest weight at 25% โ prioritize it!
ckad-exam-prep/
โโโ README.md
โโโ index.js โ Interactive CLI study guide
โโโ docs/ โ GitHub Pages website (SEO-optimized)
โ
โโโ 01-application-design-build/ โ Domain 1 (20%)
โ โโโ README.md โ Full guide with exercises
โ โโโ containers/Dockerfile
โ โโโ containers/Dockerfile.multistage
โ โโโ jobs/job-basic.yaml
โ โโโ cronjobs/cronjob-basic.yaml
โ โโโ multi-container-pods/sidecar-pod.yaml
โ โโโ multi-container-pods/ambassador-adapter-pods.yaml
โ โโโ init-containers/init-pod.yaml
โ
โโโ 02-application-deployment/ โ Domain 2 (20%)
โ โโโ README.md
โ โโโ deployments/deployment-basic.yaml
โ โโโ deployments/daemonset.yaml
โ โโโ deployments/statefulset.yaml
โ โโโ rolling-updates/canary-deployment.yaml
โ โโโ kustomize/base/ + overlays/production/
โ
โโโ 03-observability-maintenance/ โ Domain 3 (15%)
โ โโโ README.md
โ โโโ probes/ (HTTP, TCP, exec probes)
โ
โโโ 04-environment-config-security/ โ Domain 4 (25%) โ Most Important!
โ โโโ README.md
โ โโโ configmaps/configmap-demo.yaml
โ โโโ secrets/secret-demo.yaml
โ โโโ security-contexts/security-context-pod.yaml
โ โโโ service-accounts/sa-clusterrole.yaml
โ โโโ rbac/rbac-demo.yaml
โ โโโ resource-limits/limitrange-quota.yaml
โ
โโโ 05-services-networking/ โ Domain 5 (20%)
โ โโโ README.md
โ โโโ services/services-all-types.yaml
โ โโโ ingress/ingress-tls.yaml
โ โโโ network-policies/network-policies.yaml
โ
โโโ practice-exams/
โ โโโ exam-01/README.md โ 12 questions โญโญโญ Medium
โ โโโ exam-02/README.md โ 10 questions โญโญโญโญ Hard
โ โโโ exam-03/README.md โ 8 questions โญโญโญโญโญ Expert
โ
โโโ quick-reference/
โโโ kubectl-cheatsheet.md โ Every kubectl command you need
โโโ yaml-templates.md โ Copy-paste YAML for all resources
โโโ exam-tips.md โ Strategy, mistakes, checklist
# Install a local Kubernetes cluster (choose one)
brew install minikube && minikube start # macOS โ easiest option
# OR: kind, k3s, Docker Desktop Kubernetes
kubectl get nodes # Verify cluster is runninggit clone https://github.com/ChathurangaVKD/ckad-exam-prep.git
cd ckad-exam-prep
# Launch the interactive CLI guide
node index.js
# Apply any manifest to practice
kubectl apply -f 01-application-design-build/jobs/job-basic.yaml
kubectl get jobs
kubectl delete -f 01-application-design-build/jobs/job-basic.yaml# Set up these aliases at the START of your exam session
alias k=kubectl
export do="--dry-run=client -o yaml"
export now="--force --grace-period 0"
source <(kubectl completion bash) # bash
complete -F __start_kubectl k
# Time-saving usage:
k run pod1 --image=nginx $do > pod1.yaml # Generate YAML in 2 seconds
k delete pod pod1 $now # Force delete stuck pods
k get pods -A # All namespaces shortcut| Exam | Questions | Topics | Difficulty |
|---|---|---|---|
| Exam 1 | 12 | Pods, ConfigMaps, Secrets, Deployments, Jobs, RBAC, Probes, NetworkPolicy | โญโญโญ Medium |
| Exam 2 | 10 | PVCs, Helm, Kustomize, DaemonSets, ResourceQuotas, Canary, Debugging | โญโญโญโญ Hard |
| Exam 3 | 8 | Full-stack apps, StatefulSets, Complex RBAC, Security hardening | โญโญโญโญโญ Expert |
Each practice exam includes:
- โฑ Timed 2-hour format
- ๐ก Hidden solution hints (click to reveal)
- โ Verification commands
- ๐ Score tracker
| File | Contents |
|---|---|
| kubectl-cheatsheet.md | Every kubectl command organized by resource type โ pods, deployments, services, RBAC, jobs, volumes, debugging |
| yaml-templates.md | Copy-paste YAML templates for Pod, Deployment, Service, Ingress, NetworkPolicy, RBAC, PVC, Job, CronJob, Secret, ConfigMap |
| exam-tips.md | Time management strategy, common mistakes, kubectl aliases, allowed bookmarks, final domain checklist |
| Week | Day | Focus | Resource |
|---|---|---|---|
| Week 1 | Day 1โ2 | Domain 1: Containers, Jobs, Multi-container pods | Guide โ |
| Day 3โ4 | Domain 2: Deployments, Helm, Kustomize | Guide โ | |
| Day 5 | Domain 3: Probes, Logging, Debugging | Guide โ | |
| Day 6โ7 | Practice Exam 1 + review all mistakes | Exam โ | |
| Week 2 | Day 8โ9 | Domain 4: ConfigMaps, Secrets, RBAC, SecurityContext | Guide โ |
| Day 10โ11 | Domain 5: Services, Ingress, NetworkPolicy | Guide โ | |
| Day 12 | Practice Exam 2 | Exam โ | |
| Day 13 | Practice Exam 3 (Hard Mode) | Exam โ | |
| Day 14 | Quick reference review + kubectl drills + rest | Tips โ |
- ๐ CKAD Curriculum v1.35 (PDF)
- ๐ Kubernetes Documentation โ Allowed during exam
- โต Helm Documentation โ Allowed during exam
- ๐ง kubectl Cheatsheet (Official)
- ๐ฅ Killer.sh CKAD Simulator โ Closest to real exam (included with exam purchase)
- ๐ฎ KodeKloud CKAD Labs โ Great hands-on labs
- ๐ Play with Kubernetes โ Free browser-based cluster
- ๐ต Minikube โ Local single-node cluster
- ๐ Certified Kubernetes Application Developer (CKAD) Study Guide โ Benjamin Muschko (O'Reilly)
- ๐ฅ Mumshad Mannambeth's CKAD Course on Udemy
What is the CKAD exam?
The CKAD (Certified Kubernetes Application Developer) is a hands-on, performance-based certification by the Cloud Native Computing Foundation (CNCF). You are given a live Kubernetes cluster and must complete real tasks โ no multiple choice. It validates you can design, build, configure and expose cloud-native applications using Kubernetes.
What is the CKAD passing score and duration?
- Duration: 2 hours
- Passing score: 66%
- Format: Performance-based in a live Kubernetes environment
- Retake: One free retake included with purchase
- Results: Available within 24 hours
What are the 5 CKAD exam domains?
- Application Design and Build (20%) โ Containers, Dockerfiles, Jobs, CronJobs, multi-container pods (sidecar, ambassador, adapter), init containers, volumes
- Application Deployment (20%) โ Deployments, rolling updates, blue-green/canary, Helm, Kustomize, DaemonSets, StatefulSets
- Application Observability and Maintenance (15%) โ Liveness/Readiness/Startup probes, logging, kubectl top, debugging, API deprecations
- Application Environment, Configuration and Security (25%) โ ConfigMaps, Secrets, SecurityContext, RBAC, ServiceAccounts, ResourceQuota, LimitRange
- Services and Networking (20%) โ Service types, DNS, Ingress, NetworkPolicies
What kubectl aliases should I set up on exam day?
alias k=kubectl
export do="--dry-run=client -o yaml"
export now="--force --grace-period 0"
source <(kubectl completion bash)
complete -F __start_kubectl kThese save significant time: k run pod1 --image=nginx $do > pod.yaml generates a pod YAML in under 2 seconds.
What documentation is allowed during the CKAD exam?
You may have one additional browser tab open with these approved resources only:
kubernetes.io/docskubernetes.io/bloghelm.sh/docs
No personal notes, no other websites. Bookmark the kubectl cheatsheet before your exam.
What is the difference between CKAD and CKA?
| CKAD | CKA | |
|---|---|---|
| Focus | Application development on Kubernetes | Kubernetes cluster administration |
| Topics | Pods, deployments, services, configmaps, security | Cluster setup, networking (CNI), etcd, upgrades |
| Audience | Developers | Platform/DevOps engineers |
| Difficulty | Intermediate | IntermediateโAdvanced |
Many people take CKAD before CKA as a stepping stone.
How do I create a Kubernetes resource quickly on exam day?
Use imperative commands instead of writing YAML from scratch:
# Pods
kubectl run nginx --image=nginx:1.25
# Deployments
kubectl create deployment myapp --image=nginx --replicas=3
# Services
kubectl expose deployment myapp --port=80 --type=ClusterIP
# ConfigMaps
kubectl create configmap my-cm --from-literal=KEY=VALUE
# Secrets
kubectl create secret generic my-secret --from-literal=password=secret
# Jobs
kubectl create job my-job --image=busybox -- echo hello
# RBAC
kubectl create role my-role --verb=get,list --resource=pods
kubectl create rolebinding my-rb --role=my-role --serviceaccount=default:my-saContributions are welcome! See CONTRIBUTING.md for guidelines.
- ๐ Fix incorrect commands or YAML
- โ Add more practice questions
- ๐ Improve explanations
- ๐ Add examples for new Kubernetes features
MIT License โ see LICENSE for details.
โญ If this helped you pass your CKAD exam, please star this repo โ it helps others find it!
๐ Website ย ยทย Made with โค๏ธ by Dasun Chathuranga
CKADโข is a trademark of the Linux Foundation. This is an independent community study resource.