CKAD Exam Preparation Material | Certified Kubernetes Application Developer

Prepare for the CKAD with reliable study materials, practice questions, and key exam insights.

Prepare for the CKAD Certified Kubernetes Application Developer exam with CertQueen's independently developed study resources. Review important concepts, practice scenario-based questions, and use clear explanations to identify areas that require further study.

Question#1

SIMULATION



Context
Your application’s namespace requires a specific service account to be used.
Task
Update the app-a deployment in the production namespace to run as the restrictedservice service account. The service account has already been created.

A. Solution:


Question#2

SIMULATION



Task:
A Dockerfile has been prepared at -/human-stork/build/Dockerfile
1) Using the prepared Dockerfile, build a container image with the name macque and lag 3.0. You may install and use the tool of your choice.



2) Using the tool of your choice export the built container image in OC-format and store it at - /human stork/macque 3.0 tar

A. Solution:







Question#3

SIMULATION
Context
You are asked to allow a Pod to communicate with two other Pods but nothing else.
You must connect to the correct host. Failure to do so may result in a zero score.
!
[candidate@base] $ ssh ckad000
18
charming-macaw namespace to use a NetworkPolicy allowing the Pod to send and receive traffic only to and from the Pods front and db.
All required NetworkPolicies have already been created.
You must not create, modify or delete any NetworkPolicy while working on this task. You may only use existing NetworkPolicies.

A. ssh ckad00018
You cannot create/modify/delete any NetworkPolicy.
So the only way to make the existing policies “take effect” is to ensure the right Pods have the labels/selectors those policies expect.
The task: in namespace charming-macaw, configure things so the target Pod can send + receive traffic ONLY to/from Pods front and db.
1) Inspect what NetworkPolicies already exist (don’t change them) kubectl -n charming-macaw get netpol kubectl -n charming-macaw get netpol -o wide Dump them to see the selectors they use: kubectl -n charming-macaw get netpol -o yaml You are looking for policies that:
select the restricted pod via spec.podSelector and allow ingress/egress only with selectors that match front and db often there’s also a “default deny” policy.
2) Identify the Pods and their current labels kubectl -n charming-macaw get pods -o wide kubectl -n charming-macaw get pods --show-labels
Specifically inspect labels for front and db: kubectl -n charming-macaw get pod front --show-labels kubectl -n charming-macaw get pod db --show-labels (If they’re Deployments instead of single Pods, do:) kubectl -n charming-macaw get deploy --show-labels kubectl -n charming-macaw get pods -l app=front --show-labels kubectl -n charming-macaw get pods -l app=db --show-labels
3) Figure out which pod is “the Pod” to restrict
Usually there’s a third pod (e.g., backend, api, app) besides front and db.
List pods again and identify the “other” one:
kubectl -n charming-macaw get pods
Let’s assume the pod to restrict is called app (replace as needed):
TARGET=<pod-to-restrict>
4) Match the existing NetworkPolicy selectors by labeling pods (allowed)
Because you can’t edit NetworkPolicies, you must make labels on Pods (or their controllers) match the policies’ selectors.

Question#4

SIMULATION



Task:
1) First update the Deployment cka00017-deployment in the ckad00017 namespace: *To run 2 replicas of the pod
*Add the following label on the pod: Role userUI
2) Next, Create a NodePort Service named cherry in the ckad00017 nmespace exposing the ckad00017-deployment Deployment on TCP port 8888

A. Solution:
















Question#5

SIMULATION
Context
An existing web application must be exposed externally.
You must connect to the correct host. Failure to do so may result in a zero score.
[candidate@base] $ ssh ckad00025
An application externally using the URL external.sterling-bengal.local. Any requests starting with / must be routed to the application web-app.
To test the web application's external reachability, run [candidate@ckad00025] $ curl http://external.sterling-bengal.local/
or open this URL in the remote desktop's browser.

A. ssh ckad00025
You need to expose the existing app “web-app” externally at:
Host: external.sterling-bengal.local
Path: / (and anything starting with /) → route to web-app
In CKAD labs, this is almost always done with an Ingress pointing to the Service web-app.
1) Find where web-app Service lives (namespace + port) kubectl get svc -A | grep -w web-app
You’ll get something like:
<NAMESPACE> web-app ClusterIP ... <PORT>/TCP
Set the namespace:
NS=<NAMESPACE>
Check the service port(s):
kubectl -n $NS get svc web-app -o yaml
Note the service port number (commonly 80).
Also verify it has endpoints (so it actually routes to pods):
kubectl -n $NS get endpoints web-app -o wide
If endpoints are empty, the Service selector doesn’t match pods ― tell me and I’ll give the exact fix.
But usually it’s fine.
2) Create the Ingress to route / to web-app
Create a manifest (use the service port you saw; I’ll assume 80 below):
cat <<'EOF' > web-app-ingress.yaml apiVersion: networking.k8s.io/v1
kind: Ingress metadata:
name: web-app-ingress spec:
rules:
- host: external.sterling-bengal.local http:
paths:
- path: /
pathType: Prefix backend: service:
name: web-app port:
number: 80
EOF
Apply it:
kubectl -n $NS apply -f web-app-ingress.yaml
Verify:
kubectl -n $NS get ingress web-app-ingress kubectl -n $NS describe ingress web-app-ingress
If your Service port is not 80, change number: 80 to the correct value and re-apply.
3) Test external reachability (as instructed) Run exactly:
curl -i http://external.sterling-bengal.local/
If curl still fails (quick checks)
A) Is there an ingress controller running? kubectl get pods -A | egrep -i 'ingress|nginx' kubectl get svc -A | egrep -i 'ingress|nginx'
B) Does Ingress show an address?
kubectl -n $NS get ingress web-app-ingress -o wide
C) Do we have endpoints?
kubectl -n $NS get endpoints web-app -o wide

Exam Code: CKAD
Q & A: 48 Q&As         Updated:  Sep 26,2026

 

 Access Complete CKAD Preparation Material

What This CKAD Study Resource Helps You Do

Review Key Concepts

Review the technologies, products, processes, and practical skills covered by the current CKAD exam objectives.

Practice Scenario-Based Questions

Work through independently developed questions designed to strengthen your understanding of technical scenarios and decision-making.

Identify Knowledge Gaps

Use your results and the provided explanations to find weaker areas and focus your study more effectively.

How to Use This CKAD Preparation Material

Review the Exam Scope

Start by reviewing the topics covered by the CKAD exam. Compare them with the official exam objectives to understand the required technologies, operational tasks, and practical skills, then identify the areas that deserve the most attention.

Practice Independently

Complete a focused set of practice questions for each topic. On your first attempt, avoid referring to notes, answers, or other study resources so that you can evaluate your current understanding more accurately.

Study the Explanations

Review the answers and explanations after completing each practice session. Understand why the correct option is appropriate for the given scenario and why the other options may be incorrect or less suitable.

Close Knowledge Gaps

Keep track of incorrect answers, unfamiliar concepts, and weaker knowledge areas. Review these topics using official documentation and practical experience, then answer the related questions again to reinforce your understanding and monitor your progress.

Independent CKAD Preparation Resource

CertQueen independently develops its certification study materials for educational purposes. The practice questions are not copied from, recalled from, or presented as live or official exam questions.

CertQueen is not affiliated with, endorsed by, sponsored by, or authorized by any certification provider. Certification names, exam codes, product names, and related trademarks are the property of their respective owners and are referenced only for identification and educational purposes.