Master Kubernetes CKAD Exam: My Top 10 Time-Saving Tricks

4 min readFeb 28, 2025

Introduction

Preparing for the CKAD (Certified Kubernetes Application Developer) exam can be stressful, especially with the amount of YAML you need to write. But here’s the thing — I’ve found a way to avoid memorizing YAML . In this article, I’m sharing 10 practical tricks that helped me work faster, save time, and stay efficient in Kubernetes. 🚀

🔥 Trick #1: Instantly Generate YAML with kubectl create

Instead of typing YAML from scratch, I use kubectl create with --dry-run=client -o yaml to generate templates.

Example: Create a Pod YAML

kubectl run mypod --image=nginx --dry-run=client -o yaml > pod.yaml

Then, I simply edit the file:

vi pod.yaml # Modify as needed
kubectl apply -f pod.yaml

📌 This method works for Pods, Deployments, Services, ConfigMaps, Secrets, PVCs, and more!

Pod :
kubectl run mypod --image=nginx --dry-run=client -o yaml > pod.yaml
---------------
Deployment :

kubectl create deployment mydeploy --image=nginx --dry-run=client -o yaml > deploy.yaml
---------------
Service :

kubectl expose pod mypod --port=80 --dry-run=client -o yaml > svc.yaml
---------------
ConfigMap :

kubectl create configmap myconfig --from-literal=key=value --dry-run=client -o yaml > config.yaml
---------------
Secret :

kubectl create secret generic mysecret --from-literal=key=value --dry-run=client -o yaml > secret.yaml
---------------
PersistentVolumeClaim :

kubectl create pvc mypvc --storage=1Gi --access-mode=ReadWriteOnce --dry-run=client -o yaml > pvc.yaml

This saves me from memorizing YAML structure and reduces errors!

🔥 Trick #2: Use kubectl explain for Quick Reference

Whenever I forget a YAML field, I use:

kubectl explain pod.spec.containers
kubectl explain storageclass.spec

This instantly shows me the available fields without searching online.

Example output:

KIND:     Pod
VERSION: v1
FIELD: containers <[]Object>
DESCRIPTION:
List of containers belonging to the pod.

✅ Saves time when reviewing YAML structures!

🔥 Trick #3: Export Existing Objects and Modify Them

Why write YAML from scratch when you can export and tweak it?

Example: Export a Pod YAML

kubectl get pod mypod -o yaml > pod.yaml

Example: Export a Deployment YAML

kubectl get deploy mydeploy -o yaml > deploy.yaml

Now, I just edit the file and reapply instead of creating everything manually.

🔥 Trick #4: Use kubectl edit for Live Editing

Instead of deleting and recreating objects, I use:

kubectl edit pod mypod

✅ This opens the YAML in an editor, so I can modify it on the fly.

🔥 Trick #5: Modify Objects Without Editing YAML Using kubectl patch

For quick modifications, kubectl patch is a lifesaver!

Example: Add a label to a running pod

kubectl patch pod mypod -p '{"metadata":{"labels":{"env":"test"}}}'

Example: Change Deployment Image Without Editing YAML

kubectl set image deployment mydeploy nginx=nginx:1.19

✅ Saves me from writing full YAML files for minor changes.

🔥 Trick #6: Use kubectl apply -k for Kustomize

Instead of managing multiple YAML files manually, I use Kustomize:

kubectl apply -k .

✅ This applies all YAML files in the directory without individual kubectl apply -f commands.

🔥 Trick #7: Enable Kubernetes Autocomplete

I enable kubectl autocomplete to type faster:

source <(kubectl completion bash)
alias k=kubectl
complete -F __start_kubectl k

Now, I can type:

k get pods
k apply -f pod.yaml

✅ Saves me from typing long kubectl commands repeatedly!

🔥 Trick #8: Quickly Delete Objects

If I need to clean up quickly:

kubectl delete pod mypod
kubectl delete deploy mydeploy
kubectl delete all --all # Delete everything in the namespace

✅ Helps keep my exam workspace clean!

🔥 Trick #9: Create Multi-Container Pods Easily

Instead of writing complex YAML, I generate the base YAML first:

kubectl run mypod --image=nginx --dry-run=client -o yaml > pod.yaml

Then, I edit it to add extra containers manually.

🔥 Trick #10: Generate StorageClass YAML in Seconds

Example: Create a StorageClass

kubectl create storageclass mystorage --provisioner=kubernetes.io/no-provisioner --dry-run=client -o yaml > sc.yaml

Then, I edit sc.yaml to add:

volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true

No need to memorize StorageClass YAML — just generate and tweak!

🎯 Conclusion: take the CKAD Exam Without Memorizing YAML!

By using these 10 Kubernetes tricks, I was able to:

✔️ Save time during the CKAD exam.

✔️ Avoid memorizing YAML syntax.

✔️ Work faster and smarter in Kubernetes.

✔️ Improve real-world Kubernetes productivity.

✅ I use kubectl create and kubectl explain to generate YAML.

✅ I modify existing objects instead of writing YAML from scratch.

✅ I automate repetitive tasks with aliases and autocomplete.

💡 Found This Useful? Share It!

If you liked this guide, share it on LinkedIn or Medium to help others ace their Kubernetes journey! 🚀

📌 Follow me for more DevOps & Kubernetes insights! 🔥

--

--

NHAILA Achraf
NHAILA Achraf

Responses (2)