Skip to content

CKAD - Certified Kubernetes Application Developer

The Certified Kubernetes Application Developer (CKAD) is a performance-based certification from the CNCF that validates your ability to design, build, configure, and expose cloud native applications for Kubernetes. Unlike the CKA which focuses on cluster administration, the CKAD is centered on the application developer perspective -- deploying, configuring, and troubleshooting applications running on Kubernetes.

Exam Details

Detail Value
Format Performance-based (hands-on CLI)
Duration 2 hours
Tasks 15-20
Passing Score 66%
Cost $445
Validity 2 years
Prerequisites None
Delivery Online proctored (PSI Secure Browser)
Allowed Resources Kubernetes documentation

Exam Tip

The CKAD shares the same exam format as CKA (performance-based, 2 hours, 66% passing), but the focus shifts from cluster administration to application development workflows. If you already passed the CKA, many kubectl skills transfer directly.

Domain Breakdown

Domain Weight
Application Design and Build 20%
Application Deployment 20%
Application Environment, Configuration and Security 25%
Services and Networking 20%
Application Observability and Maintenance 15%
Total 100%
pie title CKAD Exam Domain Weights
    "Application Design & Build" : 20
    "Application Deployment" : 20
    "App Environment, Config & Security" : 25
    "Services & Networking" : 20
    "Observability & Maintenance" : 15

Exam Tip

Application Environment, Configuration and Security is the highest-weighted domain at 25%. Make sure you are comfortable with ConfigMaps, Secrets, SecurityContexts, ServiceAccounts, and resource management. The remaining four domains are evenly distributed at 15-20% each.

Useful kubectl Aliases and Shortcuts

Setting up aliases at the start of the exam saves significant time. The following are commonly used during the CKAD:

# Essential aliases
alias k=kubectl
alias kn='kubectl config set-context --current --namespace'

# Shortcuts for dry-run YAML generation
export do="--dry-run=client -o yaml"

# Quick resource generation
alias krun='kubectl run --restart=Never'
alias kexpose='kubectl expose'

# Context and namespace shortcuts
alias kctx='kubectl config get-contexts'
alias kns='kubectl get namespaces'

Common time-saving patterns:

# Generate YAML without creating the resource
k run nginx --image=nginx $do > pod.yaml

# Create a resource and expose it in one flow
k create deployment web --image=nginx --replicas=3
k expose deployment web --port=80 --target-port=80

# Quick edit
k edit deployment web

# Use kubectl explain to look up fields during the exam
k explain pod.spec.containers.livenessProbe
k explain deployment.spec.strategy

# Fast deletion (skip graceful shutdown wait)
k delete pod nginx --grace-period=0 --force

Exam Tip

The kubectl explain command is your best friend during the exam. It provides built-in documentation for any resource field, so you do not need to leave the terminal to look up YAML structure. Use --recursive to see the full field tree: kubectl explain pod.spec --recursive.

Key Resources

Official Resources

Resource Description
CKAD Curriculum (PDF) Official exam curriculum maintained by CNCF
CKAD Certification Page Registration, handbook, and exam policies
Kubernetes Documentation Official docs (accessible during the exam)
killer.sh Official exam simulator (2 sessions included with purchase)

Courses

Course Platform
CKAD with Practice Tests (Mumshad Mannambeth) Udemy
Certified Kubernetes Application Developer (CKAD) KodeKloud
Kubernetes for Developers (LFD259) Linux Foundation

Community Resources

Resource Description
dgkanatsios/CKAD-exercises Most popular CKAD exercise set
bmuschko/ckad-crash-course CKAD crash course with exercises
Killercoda CKAD Scenarios Free interactive browser labs