What is the CKAD?
The Certified Kubernetes Application Developer (CKAD) exam is a performance-based certification from the Linux Foundation. It validates your ability to design, build, and deploy cloud-native applications on Kubernetes.
Unlike multiple-choice exams, the CKAD is entirely hands-on. You'll be given a live Kubernetes cluster and a set of tasks to complete in 2 hours.
Exam Domains
The exam covers the following domains (as of the 2024 curriculum):
| Domain | Weight |
|---|---|
| Application Design and Build | 20% |
| Application Deployment | 20% |
| Application Observability and Maintenance | 15% |
| Application Environment, Configuration, and Security | 25% |
| Services and Networking | 20% |
Core Concepts to Master
Pods and Containers
apiVersion: v1
kind: Pod
metadata:
name: my-app
labels:
app: my-app
spec:
containers:
- name: app
image: nginx:1.25
ports:
- containerPort: 80
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
ConfigMaps and Secrets
ConfigMaps let you decouple configuration from your container images:
kubectl create configmap app-config \
--from-literal=DB_HOST=postgres \
--from-literal=DB_PORT=5432
Deployments and Rolling Updates
# Apply a rolling update
kubectl set image deployment/my-app app=nginx:1.26
# Check rollout status
kubectl rollout status deployment/my-app
# Rollback if needed
kubectl rollout undo deployment/my-app
Study Tips
- Practice on real clusters: Use killer.sh or set up a local
kindcluster. - Master
kubectlshortcuts: Speed is critical. Use aliases likek=kubectland learn imperative commands. - Know your YAML: Practice writing manifests from memory.
- Time management: Skip hard questions and return to them. Easy marks first.
- Use the docs: The official Kubernetes docs are allowed during the exam.
Essential kubectl Commands
# Create resources imperatively (faster than writing YAML)
kubectl run nginx --image=nginx --port=80 --dry-run=client -o yaml > pod.yaml
kubectl create deployment my-dep --image=nginx --replicas=3
# Quickly expose a deployment
kubectl expose deployment my-dep --port=80 --type=ClusterIP
# Debug a pod
kubectl describe pod my-pod
kubectl logs my-pod -c container-name
kubectl exec -it my-pod -- /bin/sh
Recommended Resources
- Official Docs: kubernetes.io/docs
- Practice Exams: Use our CKAD practice sets right here on this site
- killer.sh: Two sessions included with your exam purchase
- Kubernetes the Hard Way: For deeper understanding
Final Advice
The CKAD is very achievable with 4โ6 weeks of dedicated hands-on practice. Focus on speed and accuracy with kubectl, and don't forget to bookmark the Kubernetes documentation before your exam.
Good luck. You've got this! ๐