The three previous lessons covered what each certification includes. This one covers how you pass it. It is the technique lesson, and it is common to the CKA, the CKAD and the CKS, because all three share the same format: a browser-based terminal, a remote proctor watching, about fifteen tasks and a clock that keeps running.

There are people who know Kubernetes inside out and still fail. The causes are almost always the same and none of them is technical: not switching context, typing YAML by hand, getting stuck for fifteen minutes on a four-point task, not verifying what you did, or turning up with a webcam that does not work. All of that can be prevented, and preventing it is precisely what this lesson is for.

Notice. The proctoring environment requirements, the retake policy, the length of validity and the identification procedure change over time. What follows is indicative. Always check the Candidate Handbook and the current conditions on the Linux Foundation / CNCF website before booking your exam.

Contents

  1. Before the exam: environment, identification and booking a date
  2. The first 60 seconds: preparing the terminal
  3. Making effective use of the allowed documentation
  4. Managing time during the exam
  5. The mistakes that cost the most points
  6. The habit of verifying every task
  7. Mental and physical preparation
  8. If something goes wrong during the exam
  9. After the exam: result, review, renewal and how to prove it

  1. Before the exam: environment, identification and booking a date

1.1 Remote proctoring environment requirements

The exam is taken on your own computer, with a human proctor watching over webcam throughout. The requirements are strict and they are checked before you start. If something fails, the exam does not begin and you may lose the session.

Requirement Indicative detail How to prepare it
Identity document Original, physical, valid, with a photo and a name in the Latin alphabet Passport or national ID card. Photocopies and phone photos are not accepted
Matching name The profile name must match the document exactly Check it in your account days ahead; correcting it can take time
Webcam It must be movable so you can show the whole room External webcam or a laptop you can lift
Microphone Mandatory and active Check that the system has not muted it
Connection Stable; a prolonged drop may invalidate the session Wired if possible; disable automatic updates
Browser Whichever the proctoring provider requires (usually Chrome or Chromium) Install the required extension and test it
Clear desk No papers, books, notes, phone, headphones, second screen Empty the whole desk before starting
Room Alone, door closed, nobody coming in Warn whoever lives with you
No food Normally forbidden Water in a clear, label-free glass is usually allowed
No breaks The clock does not stop Go to the toilet just before
A single monitor Usually only one is allowed Physically disconnect the second one

1.2 The system check beforehand

The proctoring provider offers a system check that can be run at any time. It is free and detects camera, microphone, bandwidth and browser-blocking problems.

Do it twice:

  1. The day you book the date, so you have room to manoeuvre if something fails.
  2. The day before the exam, in the same place, with the same equipment and at the same time of day as your slot (a home network does not behave the same at 09:00 as at 22:00).

Common problems and their fixes:

Problem Fix
The browser extension will not load Disable ad blockers and other extensions
Webcam busy Close Teams, Zoom, Slack and anything else holding the camera
Insufficient bandwidth Cable instead of wifi; ask everyone else to stay off the network
Corporate VPN blocking it Disconnect it completely
Corporate firewall Do not sit the exam from a corporate network
The clipboard does not work Try Ctrl+Shift+C / Ctrl+Shift+V in the terminal

1.3 The check-in process on exam day

Book in 30 minutes ahead of the official time. Check-in usually takes 10-15 minutes and the exam clock does not start until the proctor lets you in, but arriving in a rush is the worst possible way to begin.

Typical sequence:

  1. You enter the virtual room from your Linux Foundation account.
  2. You show your identity document to the camera.
  3. You show the room with the webcam: desk, floor under the desk, walls, ceiling.
  4. You show your wrists and ears (no smartwatches or earphones allowed).
  5. You close every application except the exam browser.
  6. The proctor gives you access to the terminal and the clock starts.

1.4 Booking a date and the second-attempt policy

Enrolment usually includes one free retake if you fail the first attempt. Check the current conditions: there may be deadlines and limitations.

Why you should book the date before you feel ready:

This is probably the single most useful piece of advice in the whole lesson. The reason is structural, not psychological:

  • No date, no plan. Studying without a date drags on indefinitely. With a date, the six-week plan from lesson 12-01 becomes a real calendar.
  • The feeling of "being ready" never arrives. The exam is hands-on and there will always be a procedure you have not fully mastered. If you wait for certainty, you never sit it.
  • The second attempt exists. The cost of failing the first one is time, not money. And a failed first attempt is the best study session there is: you come out knowing exactly what you are missing.
  • The date can be moved. You can usually reschedule with enough notice (check the exact deadline, it is normally around 24 hours). Booking is not an irreversible commitment.

Recommended strategy: book the date six to eight weeks out on the day you start studying seriously. And if halfway through you see you are not going to make it, you move it.

Time of day: pick a slot when you are awake and the house is quiet. Two hours of continuous concentration with no breaks is not trivial. Avoid straight after lunch.


  1. The first 60 seconds: preparing the terminal

The moment you see the terminal, before reading the first task, type this block. It is about 40 seconds that gives you back between 15 and 25 minutes over the course of the exam.

2.1 The exact block

alias k=kubectl
export do='--dry-run=client -o yaml'
export now='--force --grace-period=0'
source <(kubectl completion bash)
complete -o default -F __start_kubectl k

What each line does:

Line Effect
alias k=kubectl Saves 7 characters on each of the ~200 commands you will type
export do=... k run x --image=nginx $do > x.yaml generates the YAML skeleton
export now=... k delete pod x $now deletes instantly, without waiting 30 s of grace
source <(kubectl completion bash) Tab completion for resources, names and flags
complete -o default -F __start_kubectl k Extends the completion to the k alias

Important note: in the CKA and the CKS you may end up working on several nodes over ssh. The alias does not travel with the ssh session. When you get onto a node, either repeat the block or simply type kubectl in full. Bear in mind that $do does not exist there either.

2.2 Checking that it worked

k version --client
k run test --image=nginx $do | head -5
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:

If that comes out right, the arsenal is ready.

2.3 The vim settings

A second block, just as profitable. Type it before you open the first YAML:

cat <<'EOF' > ~/.vimrc
set number
set expandtab
set tabstop=2
set shiftwidth=2
set softtabstop=2
set autoindent
set paste
EOF
Setting Why it is critical
expandtab YAML forbids tabs. Without this, your manifest is rejected with a confusing error
tabstop=2, shiftwidth=2, softtabstop=2 Kubernetes standard indentation: 2 spaces
autoindent Keeps the level when you press Enter
set paste The most important one. Without it, pasting from the documentation produces a growing staircase that breaks the YAML
number API errors give you the line number

Quick alternative with no file: if you would rather not create ~/.vimrc, inside vim you can type:

:set paste
:set et ts=2 sw=2 ai nu

But doing it once in ~/.vimrc is safer than remembering it for every file.

2.4 Essential vim commands

Action Command
Insert / leave insert mode i / Esc
Go to line N :N
Go to the end / start of the file G / gg
Search forwards / next occurrence /text / n
Delete line / N lines dd / Ndd
Copy line / paste yy / p
Undo / redo u / Ctrl+r
Select a block and indent V (visual line), move, > or <
Replace throughout the file :%s/old/new/g
Save and quit :wq
Quit without saving :q!
Toggle paste mode :set paste / :set nopaste

Practise this the week before the exam. Exam day is not the moment to remember how to delete five lines.

2.5 Setting each task's namespace

Two valid strategies. Pick one and be consistent:

# Strategy A: set the namespace on the context (faster)
k config set-context --current --namespace=rutas-norte-pro
# ...and from here on, no -n in the commands

# Strategy B: explicit -n on every command (more slip-proof)
k get pods -n rutas-norte-pro

A saves time but requires changing it at the start of every new task. B is impossible to forget but costs seconds. Many candidates use A and, in the final review, check every object with an explicit -n.

2.6 The exam notepad

The exam interface includes a notepad. Use it from minute one to keep your task list:

T1  4%  done ✔
T2  7%  SKIPPED - come back (NetworkPolicy egress)
T3  3%  done ✔
T4  9%  half done - Service missing
T5  5%  done ✔
...

Without this list, at minute 100 you will not remember what you left pending or which one was worth more.


  1. Making effective use of the allowed documentation

3.1 What is allowed

Exam Documentation allowed (indicative)
CKA kubernetes.io/docs (includes the API reference and the blog)
CKAD kubernetes.io/docs
CKS kubernetes.io/docs + the official Trivy, Falco and AppArmor documentation

Forbidden in all of them: general search engines, forums, GitHub, your own notes, other websites, AI tools, any local file that does not belong to the cluster. Only one additional tab is allowed besides the exam one.

Verify the exact list of allowed domains in the official handbook: it has changed between programme revisions.

3.2 How to search inside kubernetes.io

The site's own search is slow and often returns unhelpful results. Two better techniques:

Technique 1 — direct URL. Many pages have predictable paths:

kubernetes.io/docs/concepts/services-networking/network-policies/
kubernetes.io/docs/concepts/storage/persistent-volumes/
kubernetes.io/docs/tasks/configure-pod-container/security-context/
kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/
kubernetes.io/docs/reference/access-authn-authz/rbac/

Technique 2 — Ctrl+F inside the page. Once you are on the right page, search for the field name you need (fsGroup, startingDeadlineSeconds, emptyDir) instead of reading the whole thing.

3.3 The pages worth having located

This is your mental cheat sheet. Memorise the search term, not the URL.

I need Search on kubernetes.io Exam
PV and PVC manifest "persistent volumes" CKA, CKAD
Sample NetworkPolicy (all the variants) "network policies" All three
Ingress with rules and TLS "ingress" CKA, CKAD
Liveness/readiness/startup probes "configure liveness readiness startup probes" CKA, CKAD
Full securityContext "security context" CKAD, CKS
Pod Security Standards and admission "pod security standards" / "pod security admission" CKS
Audit policy "auditing" CKS
Encrypting Secrets at rest "encrypting confidential data at rest" CKS
seccomp profiles "seccomp" CKS
AppArmor "apparmor" CKS
RuntimeClass (gVisor) "runtime class" CKS
RBAC (Role, ClusterRole, bindings) "rbac authorization" All three
etcd backup and restore "operating etcd clusters" CKA
Upgrading the cluster "upgrading kubeadm clusters" CKA
Static pods "static pods" CKA
Taints and tolerations "taints and toleration" CKA, CKAD
Node and pod affinity "assigning pods to nodes" CKA, CKAD
ConfigMaps in pods "configure pod configmap" CKAD
Secrets in pods "distribute credentials secure" CKAD
Jobs and CronJobs "cronjob" / "job" CKAD
Multi-container pods and sidecars "sidecar containers" CKAD
kubectl cheat sheet "kubectl cheat sheet" All three
Debugging pods "debug running pod" All three

3.4 Why copying and adapting beats typing

Compare the two routes for a NetworkPolicy:

Route A — typing it by hand:

1. Open vim                              10 s
2. Recall apiVersion and kind            15 s (with doubts)
3. Type 20 lines of YAML                180 s
4. Fix indentation errors                60 s
5. Apply it and find something missing   40 s
TOTAL: ~5 minutes and a high risk of error

Route B — copying and adapting:

1. Search "network policies" in the docs  15 s
2. Copy the closest example               10 s
3. Paste into vim (with set paste)        10 s
4. Change name, namespace, selectors      60 s
5. Apply                                   5 s
TOTAL: ~100 seconds and almost no risk

Three times faster and a fraction of the risk. And the grader cannot tell whether you typed it or copied it: it only looks at the state of the cluster.

The objects that benefit most from this approach (the ones with no imperative generator):

  • PersistentVolume and PersistentVolumeClaim
  • NetworkPolicy
  • StorageClass
  • A full securityContext
  • Probes with all their fields
  • Audit policy
  • EncryptionConfiguration
  • RuntimeClass
  • seccomp profiles

3.5 kubectl explain: the documentation without opening the browser

For one-off doubts about a field, this is quicker than going to the browser:

k explain pod.spec.containers.livenessProbe --recursive
k explain cronjob.spec --recursive | head -30
k explain networkpolicy.spec.ingress --recursive
k explain pod.spec.securityContext --recursive
k explain deployment.spec.strategy --recursive

And to recall the correct API version:

k explain networkpolicy | head -3
k api-resources | grep -i policy
NAME              SHORTNAMES   APIVERSION              NAMESPACED   KIND
networkpolicies   netpol       networking.k8s.io/v1    true         NetworkPolicy

k api-resources answers "what was the apiVersion for this again?" in two seconds.


  1. Managing time during the exam

4.1 The initial quick pass

Spend the first 4-5 minutes reading ALL the tasks without solving any of them. It feels counter-intuitive, but it is the most profitable investment in the exam.

As you read, note down in the notepad, for each task:

Column What to note
No. Task number
Weight The percentage given in the statement
Difficulty E (easy), M (medium), H (hard) for you
Status blank / ✔ / ⏸ (skipped) / ½ (half done)

A typical result:

T1   4%  E
T2   7%  M
T3   3%  E
T4   9%  H
T5   5%  E
T6   7%  M
T7   4%  E
T8  10%  H
...

Now you have a map. Without it, you are flying blind.

4.2 The order of attack

Phase 1 (minutes 5-40): the cheap ones. All the Es, in the order they appear. They are quick, guaranteed points and they get you into rhythm. Psychologically, starting by stacking up wins changes the whole exam.

Phase 2 (minutes 40-95): the central block. The Ms and the Hs, prioritised by weight. This is where the pass is decided. The heaviest ones go in this block because you need time and a fresh head, but not so late that the clock catches you.

Phase 3 (minutes 95-110): the outstanding ones. You go back to the skipped and half-finished ones. With what you learned on the other tasks, the solution is often obvious by now.

Phase 4 (minutes 110-120): review. Not a single new task. Checking only.

 0───5────────────────40──────────────────95──────110─────120
 │ read │  easy ones   │  central block    │ pending │ review │

4.3 The per-task limit

Hard rule: if a task overruns its target time by more than 50 %, you flag it and leave it.

Task weight Target time Hard limit
2-4 % 3-4 min 6 min
5-7 % 6-8 min 10 min
8-10 % 10-12 min 15 min

Why this works: a 4 % task you have spent 12 minutes on has cost you the equivalent of two 5 % tasks you would have solved. The arithmetic is merciless: the exam does not reward perseverance, it rewards output per minute.

How to skip well:

  1. Leave in place whatever you managed to do (partial marks).
  2. Note it in the notepad with a remark about where you got stuck.
  3. Move to the next one without dwelling on it.

Coming back later with a clear head solves half of the blockages.

4.4 The last 10 minutes

Starting a new task is forbidden. That time is for:

# Go through the completed tasks and check each one
k config use-context <the task's context>
k get all -n <namespace>
k get pods -n <namespace>          # is everything Running?

Concrete review checks:

Check Command
Is the object in the right namespace? k get <kind> <name> -n <ns>
Is it on the right cluster? k config current-context before each get
Are the pods Running, not Pending or CrashLoop? k get pods -n <ns>
Does the Service have endpoints? k get endpoints <svc> -n <ns>
Is the PVC Bound, not Pending? k get pvc -n <ns>
Does the Deployment have the requested replicas? k get deploy -n <ns>
Does the requested file exist and have content? cat /opt/file.txt

Finding a single object in the wrong namespace during this review already pays for the ten minutes.


  1. The mistakes that cost the most points

In order of damage caused.

5.1 Not switching context to the task's cluster

Mistake number one, and the most expensive: zero marks on a perfectly solved task.

Every task starts with its context command. Copy it and run it always, even if you believe it is the same as the previous task's.

k config use-context rutas-norte-pro
k config current-context      # a one-second verification

Habit to train: the use-context is the first command, before you have even finished reading the statement. Make it automatic.

5.2 Not setting the requested namespace

The second most expensive mistake, for the same reason: the object is created in default and the grader cannot find it.

# As soon as you switch context
k config set-context --current --namespace=rutas-norte-pro

Or -n on every command. But one of the two, always.

Special case: cluster-scoped objects (PersistentVolume, StorageClass, ClusterRole, ClusterRoleBinding, Namespace, RuntimeClass, PriorityClass, IngressClass) take no namespace. Giving them one does not raise an error, it is simply ignored, but knowing which ones they are avoids confusion.

5.3 Leaving the object half-created

A typical situation: you create the Deployment, get distracted by the Service, and the Deployment is left with the wrong image. Or you apply a YAML with an error and do not look at the result.

# ALWAYS look at the output of the apply
k apply -f manifest.yaml
deployment.apps/bookings-api created
service/bookings-api-svc created

If it had said error validating data: ValidationError..., the task is not done. Read the output of every command.

5.4 Not checking that what you created actually works

An object existing does not mean it works. The cases that cost the most points:

Object created It may exist but not work if... How to spot it
Deployment The image does not exist or the pods will not start k get pods → ImagePullBackOff
Service The selector does not match the pods' labels k get endpoints → empty
PVC There is no compatible PV k get pvc → Pending
Pod with nodeSelector No node carries the label k get pods → Pending
Ingress The IngressClass is missing or the backend does not exist k describe ingress → no ADDRESS
NetworkPolicy The CNI does not support policies Test real connectivity
CronJob Invalid cron syntax k get cronjob → LAST SCHEDULE: <none>
RoleBinding It points at a Role or SA that does not exist k auth can-i --as=... → no

The rule: one check per task, always.

5.5 Losing time typing YAML by hand

This is already covered in section 3.4, but it bears repeating because it is the mistake that most quietly ruins exams. You do not fail because of it directly: you fail because you had three tasks left undone.

The speed hierarchy, fastest to slowest:

1. Direct imperative command          k create deployment x --image=y
2. Imperative command + $do + edit    k create ... $do > x.yaml && vim x.yaml
3. Copy from the documentation        (for whatever has no generator)
4. kubectl edit / kubectl patch       (to modify what already exists)
5. Write from scratch                 ← only if there is no other way

5.6 Other frequent mistakes

Mistake Consequence Prevention
Pasting YAML without set paste Broken indentation, invalid manifest ~/.vimrc in minute one
Using kubectl edit on immutable fields Cryptic error and lost minutes Export, delete, recreate
Saving a file to the wrong path The grader cannot find it Copy and paste the path from the statement
Leaving a task completely empty Zero, when there were partial marks Always do what you know
Not reading the statement to the end You miss the last requirement Read it twice before typing
Confusing -n (namespace) with -A (all) You look in the wrong place Pay attention to the command
Working on the wrong node over ssh Changes on the machine you did not mean hostname after every ssh
Forgetting to leave the ssh session The next commands run on the node An explicit exit and check with hostname

  1. The habit of verifying every task

6.1 The three-step cycle

Every task must follow this sequence, without exception:

1. CONTEXT   →  k config use-context X
2. SOLVE     →  the command or manifest
3. VERIFY    →  the k get that proves it is right

Step 3 is not optional. It costs 5-10 seconds and catches half your mistakes before it is too late.

6.2 The right check for each object

# Deployment: replicas ready
k get deploy bookings-api -n rutas-norte-pro
# READY must be 3/3, not 0/3

# Service: populated endpoints
k get endpoints bookings-api-svc -n rutas-norte-pro
# ENDPOINTS cannot be empty

# Pod: Running status
k get pod web-store -n rutas-norte-pro
# STATUS Running, READY 1/1

# ConfigMap/Secret consumed: check it INSIDE the pod
k exec bookings-api -n rutas-norte-pro -- env | grep LOG_LEVEL
k exec bookings-api -n rutas-norte-pro -- ls /etc/secrets

# PVC: bound
k get pvc -n rutas-norte-pro
# STATUS Bound, not Pending

# RBAC: effective permission
k auth can-i list pods --as=system:serviceaccount:ns:sa -n ns
# yes / no depending on what was asked

# NetworkPolicy: real connectivity
k run t --rm -it --image=busybox:1.36 --restart=Never -n ns -- nc -zv svc 5432

# CronJob: trigger it manually instead of waiting
k create job test --from=cronjob/reports -n ns
k logs job/test -n ns

# Ingress: rules and backends
k describe ingress store -n rutas-norte-pro | grep -A5 Rules

# Node: status
k get nodes

# Requested file: it exists and has content
cat /opt/result.txt
wc -l /opt/result.txt

6.3 Leaving the kubectl get that proves it

Beyond verifying for yourself, some tasks explicitly ask you to save a result into a file. Those are direct marks and they get missed through carelessness:

# "Save the name of the pod using the most CPU in /opt/cpu.txt"
k top pods -n rutas-norte-pro --sort-by=cpu --no-headers | head -1 | awk '{print $1}' > /opt/cpu.txt
cat /opt/cpu.txt          # ← ALWAYS check that the file is not empty

# "Write the nodes labelled disk=ssd into /opt/nodes.txt"
k get nodes -l disk=ssd -o name > /opt/nodes.txt
cat /opt/nodes.txt

# "Save the logs of container X into /opt/logs.txt"
k logs bookings-api -c api -n rutas-norte-pro > /opt/logs.txt
wc -l /opt/logs.txt

Classic mistake: the command fails, the redirection creates an empty file, and you never look at it. A one-second cat prevents it.


  1. Mental and physical preparation

7.1 The week before

Days before What to do What NOT to do
7-5 Final revision of new content —
4-3 Two full timed mock exams Learning new topics
2 Light revision: commands, shortcuts and the documentation cheat sheet only Long mock exams
1 System check. Prepare the room. Sleep well. Studying late
0 Normal breakfast, arrive 30 min early Excessive coffee

Do not study new content in the last 48 hours. It does not stick and it raises anxiety. What you already know is what you take in with you.

7.2 The timed rehearsal

Mock exams only help if they are realistic:

  • Two straight hours, no breaks, no phone, no getting up.
  • Only the allowed documentation open. No googling "how did this go again".
  • In the same place, with the same equipment you will use on exam day.
  • Marked at the end, not as you go.

Lesson 12-05 of this course is exactly that: a complete mock exam with fifteen timed tasks and its solutions.

What to measure in each mock exam:

Metric Target
Total score Comfortably above the pass mark (~75 %)
Tasks never started Zero
Time left over At least 10 minutes
Context/namespace mistakes Zero
Tasks that blew their limit One at most

7.3 An identical practice environment

Details that look minor and are not:

  • The same keyboard. If you practise on one keyboard and sit the exam on another, you lose speed and make typos.
  • The same keyboard layout (Spanish, English). The characters |, \, {, }, " and - appear constantly in YAML and commands.
  • The same browser and the same resolution.
  • Practise copy and paste in a web terminal. The shortcuts (Ctrl+Shift+C/Ctrl+Shift+V) differ from those of a native terminal, and exam day is not the moment to find that out.
  • Practise with a split screen: terminal on the left, documentation on the right. That is how you will be working.

7.4 During the exam: your head

  • The first few minutes are the worst. That is normal. The initial reading pass helps precisely here: it gives you control before you start typing.
  • If a task blocks you, skip it. It is not a failure, it is the correct strategy.
  • Do not calculate your score in your head during the exam. It distracts you and it is almost always pessimistic.
  • Breathe before touching anything critical. Above all before editing the apiserver in the CKS.
  • Accept imperfection. With a threshold around 66 %, you can get a third of the exam wrong and still pass.

  1. If something goes wrong during the exam

8.1 Technical problems

Problem What to do
The terminal freezes Reload the exam page; the session recovers
The connection drops Reconnect immediately; the proctor sees it and it usually resumes
A task's cluster does not respond Tell the proctor in the chat; there may be a restart procedure
The clipboard does not work Try the alternative shortcuts; if not, report it
The browser closes Reopen it and rejoin the session
A command leaves the cluster unusable That is on you; this is exactly why the CKS calls for a manifest backup first

Important: if something fails because of the platform, tell the proctor at that moment, not at the end. Get it on record. Complaining after you have finished, with no record from during the session, has little chance.

8.2 How to contact the proctor

Throughout the exam there is a chat in the interface. That is the official channel.

Hello, the terminal for task 7 is not responding after the context switch.
Could you please check?

Write in English and be specific: task number and symptom. The proctor cannot give you hints about the content, but they can solve platform problems.

You can also use the chat to:

  • Ask permission to drink water (subject to the rules).
  • Report an unavoidable noise in your environment.
  • Report any external interruption.

Never: ask anything about the content of the tasks. The answer will be no and it eats your time.

8.3 Conduct rules that get forgotten

Breaches that can invalidate the exam and that people commit with no bad intent:

  • Speaking out loud or muttering the statements as you read them. The microphone picks it up.
  • Looking away from the screen repeatedly.
  • Getting up without permission.
  • Someone walking into the room.
  • Having your phone in sight, even switched off.
  • Wearing earphones or a smartwatch.
  • Taking notes on paper.

Warn whoever lives with you, close the door and leave the phone in another room.


  1. After the exam: result, review, renewal and how to prove it

9.1 The result

  • The result arrives by email, usually within 24 hours (indicative; check the current turnaround).
  • You get the overall score and, if you fail, a breakdown by domain with your performance in each one.
  • If you pass, you receive the PDF certificate and a verifiable digital badge.

9.2 If you do not pass

It is not a disaster and it is more common than it looks. Enrolment usually includes one free retake.

Action plan:

  1. Write down what you remember the same day. Which kinds of task appeared, which ones blocked you, where you lost time. That information evaporates within 48 hours and it is pure gold.
  2. Read the breakdown by domain. It tells you exactly where you fell short.
  3. Diagnose the real cause, which is almost always one of these three:
Cause Symptom Remedy
Lack of knowledge You knew what had to be done but not how Revise the lessons of the weak domain and practise them
Lack of speed You knew how to do everything but ran out of time Aliases, $do, copying from the documentation, timing yourself
Process failures Context, namespace, not verifying Train the context-solve-verify cycle
  1. Book the second attempt 3-4 weeks out. Not sooner (no time to fix things) and not much later (you lose your form).
  2. Work only on what failed. Do not redo the whole syllabus.

9.3 Renewal and expiry

Aspect Indicative detail
Validity Around two years from the pass date
Renewal By passing the exam again before it expires (check whether alternative routes are currently available)
Reminder There are usually email reminders as the date approaches
Effect of expiring The certification is no longer current and disappears from public verification
Impact on the CKS If your CKA expires, you cannot sit the CKS until you renew it

Calendar tip: note the expiry date the same day you pass, with a reminder four months beforehand. That gives you room to prepare the renewal without pressure.

And bear in mind that renewal is not just bureaucracy: Kubernetes changes fast, and the exam curriculum is updated with each version. Renewing is a way of staying current.

9.4 How to prove the certification

Route How
Digital badge Issued on a verifiable credentials platform. It can be added to LinkedIn, your email signature or a personal site
PDF certificate Downloadable from your Linux Foundation portal
Public verification The CNCF keeps a searchable directory where anyone can validate a certification by your name or the ID
LinkedIn The "Licenses and certifications" section, with the verification URL and the expiry date
CV Full certification name, issuing body and date. Example: Certified Kubernetes Administrator (CKA) — The Linux Foundation, 2026

Practical tip: always include the verification link. It separates a real certification from a claim, and technical recruiters appreciate it.

9.5 And then what?

Passing is not the end of the road:

  • Apply it. A certification without practice rusts within months. Keep operating clusters.
  • Chain them. If you hold the CKAD, the CKA is one step away. If you hold the CKA, the CKS is the natural specialisation.
  • Extend into the ecosystem. The CNCF offers other certifications (Prometheus, Istio, Argo, GitOps, and introductory ones such as KCNA and KCSA). Revisit module 10 to see where each tool fits.
  • Keep a cluster of your own. A kind or minikube on your laptop is enough to keep your reflexes sharp.

Common Mistakes and Tips

The technique mistakes, summarised

Mistake Cost One-line prevention
Not switching context The whole task First command, always
Not setting the namespace The whole task set-context --current --namespace=
Not doing the initial reading pass Bad prioritisation all exam long 5 minutes reading before typing
Getting stuck with no limit on one task 2-3 tasks lost Hard limit and skip
Typing YAML by hand 15-20 minutes of the exam $do and copy from the documentation
Pasting without set paste Invalid manifests ~/.vimrc in minute one
Not verifying what you did Points you thought you had A closing k get per task
Leaving tasks empty Partial marks lost Do what you know
Not reviewing at the end Undetected mistakes Last 10 minutes, review only
Arriving right on time Stress and the risk of losing the session 30 minutes early
Not running the system check An exam that will not start Run it twice
A name that differs from the document They will not let you start Check it weeks ahead
An empty output file Points given away cat after every redirection

Tips that sum up the lesson

  1. Book the date before you feel ready. No date, no plan.
  2. The first 60 seconds are worth 20 minutes: aliases, $do, completion, .vimrc.
  3. Read every task before solving any of them. Five minutes that organise the two hours.
  4. Copying from the documentation is the correct strategy, not a shameful shortcut.
  5. The cycle is context → solve → verify. All three steps, always.
  6. Skipping is a strategic decision, not a surrender.
  7. The last 10 minutes are for reviewing, never for a new task.
  8. Simulate the whole exam at least twice before the real day.
  9. If you fail, write down what you remember the same day and use the retake in 3-4 weeks.
  10. Note the expiry date the day you pass.

Exercises

Exercise 1 — The start-up block, timed

In a clean terminal (container, VM or new session), and with a timer:

  1. Type from memory the complete block of aliases, variables and completion.
  2. Create the ~/.vimrc with the seven settings.
  3. Prove that it works: generate a pod's YAML with $do, open it in vim, paste in a securityContext block copied from the documentation, save it and apply it.

Target: under 3 minutes in total, with no reference material.

Repeat it five days running until it comes out without thinking.

Exercise 2 — A two-hour plan for a fictional exam

You are given this task list from an imaginary exam. Without solving them, draw up your plan of attack: order, time allocated to each one and which phase you would tackle it in.

Task Weight Description
1 4 % Create a 3-replica Deployment and expose it
2 8 % Configure the apiserver audit policy
3 3 % Scale an existing Deployment to 5 replicas
4 7 % Default-deny NetworkPolicy with exceptions
5 10 % etcd backup and restore
6 4 % Create a ConfigMap and inject it as variables
7 6 % PV + PVC + a Pod that mounts it
8 5 % Add probes to an existing Deployment
9 9 % NotReady node: diagnose and fix
10 3 % Write the pods sorted by restarts into a file
11 7 % RBAC: SA + Role + RoleBinding and verification
12 6 % Ingress with two path rules
13 4 % CronJob with concurrencyPolicy
14 8 % Upgrade a worker node
15 6 % Harden an insecure pod

Exercise 3 — Your own documentation cheat sheet

Build your own "I need X → I search for Y on kubernetes.io" table, with at least 20 entries, ordered by the frequency you expect in your exam (CKA, CKAD or CKS).

Then verify every entry: open kubernetes.io, search for the term you wrote down and check that the first or second result is the page you need. Fix any terms that do not work.


Solutions

Solution to Exercise 1

# Block 1 (~20 s)
alias k=kubectl
export do='--dry-run=client -o yaml'
export now='--force --grace-period=0'
source <(kubectl completion bash)
complete -o default -F __start_kubectl k

# Block 2 (~20 s)
cat <<'EOF' > ~/.vimrc
set number
set expandtab
set tabstop=2
set shiftwidth=2
set softtabstop=2
set autoindent
set paste
EOF

# Demonstration (~90 s)
k run bookings-api --image=nginx:1.27-alpine $do -n default > api.yaml
vim api.yaml

Inside vim, pasting the block copied from the documentation:

apiVersion: v1
kind: Pod
metadata:
  name: bookings-api
spec:
  securityContext:
    runAsNonRoot: true
    runAsUser: 10001
  containers:
  - name: bookings-api
    image: nginx:1.27-alpine
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop: ["ALL"]
k apply -f api.yaml
k get pod bookings-api

Self-assessment: if it took you more than 3 minutes, work out where. The usual culprits are hesitating on the complete -o default line or wrestling with vim. Both are fixed by repetition.

The trap in this exercise: if the YAML comes out as a staircase when you paste it into vim, set paste was not active. Check it with :set paste? inside vim.

Solution to Exercise 2

Total: 100 %, 15 tasks, 120 minutes.

Classification by typical difficulty and target time:

Task Weight Difficulty Target Phase
3 3 % E 2 min 1
10 3 % E 3 min 1
1 4 % E 4 min 1
6 4 % E 4 min 1
13 4 % E 4 min 1
8 5 % E/M 5 min 1
7 6 % M 7 min 2
12 6 % M 6 min 2
15 6 % M 6 min 2
11 7 % M 6 min 2
4 7 % M 7 min 2
2 8 % H 11 min 2
14 8 % H 11 min 2
9 9 % H 10 min 2
5 10 % H 12 min 2

Time allocation:

Min 0-5     Reading pass and classification
Min 5-27    Phase 1: tasks 3, 10, 1, 6, 13, 8   → 23 points in 22 minutes
Min 27-97   Phase 2: 7, 12, 15, 11, 4, 2, 14, 9, 5 → 77 points available
Min 97-110  Phase 3: outstanding and half-finished ones
Min 110-120 Review

Analysis of the plan:

  • Phase 1 secures 23 points in 22 minutes, a little over a point a minute. It is the best return in the exam and that is why it goes first.
  • The four heaviest tasks (2, 5, 9, 14) add up to 35 points and about 44 minutes. They are the deciding ones. They go in the central block, not at the end.
  • With 23 (phase 1) + 35 (the four big ones) = 58 points, you still do not pass. You also need the medium ones: 7, 12, 15, 11 and 4 add another 32 points. That is your real margin.
  • If tasks 5 (etcd) and 14 (upgrade) get stuck, the hard 15-minute limit stops the two of them eating 40 minutes.

The mistake this exercise prevents: starting at task 1 and carrying on in order. You would reach task 5 (10 %) around minute 30 with a fresh head —that part is fine— but task 9 (9 %) and task 14 (8 %) would fall at the end, rushed and tired. And the easy ones at the end (10, 13) might go undone, giving away 7 points that cost 7 minutes.

Solution to Exercise 3

An extract from a CKA cheat sheet, ordered by expected frequency:

I need Search term Target page Verified
kubectl cheat sheet kubectl cheat sheet Reference › kubectl Cheat Sheet Yes
NetworkPolicy network policies Concepts › Services, Load Balancing, and Networking Yes
PV and PVC persistent volumes Concepts › Storage › Persistent Volumes Yes
etcd backup operating etcd clusters Tasks › Administer a Cluster Yes
Cluster upgrade upgrading kubeadm clusters Tasks › Administer a Cluster Yes
RBAC rbac authorization Reference › Access Authn Authz Yes
Probes configure liveness readiness startup probes Tasks › Configure Pods and Containers Yes
Ingress ingress Concepts › Services... › Ingress Yes
Taints and tolerations taints and tolerations Concepts › Scheduling Yes
Node affinity assign pods to nodes using node affinity Tasks › Configure Pods and Containers Yes
Static pods static pods Tasks › Configure a kubelet Yes
DaemonSet daemonset Concepts › Workloads › Controllers Yes
StorageClass storage classes Concepts › Storage Yes
Debugging pods debug running pods Tasks › Monitoring, Logging, and Debugging Yes
Debugging the cluster troubleshoot clusters Tasks › Monitoring, Logging, and Debugging Yes
ConfigMap in a pod configure a pod to use a configmap Tasks › Configure Pods and Containers Yes
Secret in a pod distribute credentials securely using secrets Tasks › Inject Data Into Applications Yes
Cluster DNS dns for services and pods Concepts › Services... Yes
CronJob running automated tasks with a cronjob Tasks › Run Jobs Yes
securityContext configure a security context Tasks › Configure Pods and Containers Yes
CSR / user certificates certificate signing requests Reference › Access Authn Authz Yes
Resource quotas resource quotas Concepts › Policy Yes

The value of the exercise is in the verification step. Terms that look obvious often do not lead to the right page: searching for "backup etcd" gives scattered results, whereas "operating etcd clusters" goes straight there. Discovering that now is worth minutes on exam day.

Extra tip: for the CKS, add a second table with falco.org/docs (rule syntax, the list of %evt.* and %container.* fields) and aquasecurity.github.io/trivy (severity flags and output formats).


Conclusion

Technical knowledge is a necessary condition for passing the CKA, the CKAD or the CKS, but not a sufficient one. The exam format —hands-on, timed, with several clusters and remote proctoring— adds a layer of difficulty that is prepared for separately, and that is exactly what you have worked on in this lesson.

What to take away:

  • Before: run the system check twice, prepare the room and the identity document, and book the date before you feel ready —no date, no plan, and the retake exists.
  • The first 60 seconds: the k alias, $do, $now, completion and ~/.vimrc with set paste. Forty seconds that give you back twenty minutes.
  • The allowed documentation is a tool, not a crutch: copying an example and adapting it is three times faster and far safer than writing a manifest from scratch.
  • Time is managed in four phases: read everything, solve the cheap ones, attack the central block by weight, and review. With a hard limit per task and no regrets about skipping.
  • The costliest mistakes are not technical: not switching context, not setting the namespace, leaving objects half-done, not checking that they work, and typing YAML by hand.
  • The cycle for every task is always the same: context → solve → verify. All three steps, without exception.
  • Prepare physically and mentally too: realistic mock exams, an identical environment, rest, and no new topics in the last 48 hours.
  • If something goes wrong, tell the proctor at the time, through the chat and in English.
  • Afterwards: read the domain breakdown if you fail, diagnose whether the problem was knowledge, speed or process, and note the expiry date the same day you pass.
  • Always check the Candidate Handbook and the current conditions before booking: requirements, deadlines and policies change.

Only one thing remains: putting it all to the test. The next and final lesson of the course is the final mock exam: fifteen timed tasks on the Rutas Norte platform, with their scoring, a complete solution set and a self-assessment table that will tell you whether you are ready to book the date or which modules are worth revising first. Get the timer and a clean cluster ready.

Kubernetes Course

Module 1: Introduction to Kubernetes

Module 2: Core Kubernetes Components

Module 3: Configuration and Secret Management

Module 4: Networking in Kubernetes

Module 5: Storage in Kubernetes

Module 6: Advanced Kubernetes Concepts

Module 7: Monitoring and Logging

Module 8: Kubernetes Security

Module 9: Scaling and Performance

Module 10: Kubernetes Ecosystem and Tooling

Module 11: Case Studies and Real-World Applications

Module 12: Preparing for Kubernetes Certification

© Copyright 2026. All rights reserved