Sitting the certified kubernetes application developer (CKAD Exam) and course can seem like a daunting task and I can confirm this is the case.
This is practical exam, the first of which I have sat in my time in software engineering, no multiple choose, just real examples to get your teeth into.
With this article you can help yourself by following these tips and removing most of the obstacles in you path as possible.
1. Namespacing
It is likely that most questions are going to have a namespace attached to them. The copy and paste functions may be different to what you normally use and you may want to keep the usage of this technique to minimum. In addition, typos can be common when you are under stress. There are two techniques to avoid having to copy namespaces that you may refer to multiple times in a single question, thus reducing typos and the need to think about it after the initial reading.
The first is to set an exported variable to the value of the namespace for each question. That way you only have to write it once and this is the technique I used as it was simple.
export n=NAMESPACE
You could use the config set-context statement to set it as the default namespace. Set the main statement as an alias and then reference it below
#set it as an alias
alias n=kubectl config set-context --current --namespace
#setting the namespace
n="myNamespace"
Creating things accidentally in the wrong namespace is at best going to waste time (tick tock) and at worst, create objects in the wrong place. This exam has automated marking and you will get nil points for this.
2. Setting the context within the CKAD exam terminal
This is something you need to be prepared to do for every task. You don’t have to worry about this with the exception of mastering your copy and paste based on your operating system for Linux. This is just a case of finding the context in the red block and pasting it into the terminal. Do this even if the contexts look the same as you will score nothing for completing a task in the wrong context and you might get a task that does not have any clues that you are in the wrong context, such as your objects namespace.
kubectl config use-context ???
Using Documentation on kubernetes.io
My advice is to try and not open the documentation. Know how to complete all of the basic tasks ahead of time. This will not only save you time but it will allow you more time to answer the questions you do have to look up.
Have a basic knowledge and understanding of all aspects of Kubernetes and if you are in any doubt in some areas rehearse going to get that information from the documentation. Practice makes perfect after all.
At the top of every question there will be the relevant documentation links. Not all links will the answer, but the answer will be there. Use these links to get to the right part of the documentation fast. Firefox will come to the front, even if you have the terminal open.
If you don’t use Firefox download firefox here.
Also get used to the Firefox search, which appears at the bottom left and also how set it up via shortcuts.
3. Set up Environment vars
Setting up environment vars for commonly used phrases is a great way to time save. If you are sitting the CKAD exam you are going to want to use kubectl commands to generate the yaml for you. In saying this however you are not always going to want to create an actual object. This is where dry-run=client comes in. Having this as an environment variable not only saves you time but also lessons your risk of a typo during the test. Let’s explore how that looks in code:
export dry="dry-run=client"
kubectl run webapp --image nginx $dry
The first line sets up the paragraph and he second line uses it. The output will look something like this:
Although this has created the pod and we can see this form the output (dry run), it has also not provided us with any useful yaml. To output useful yaml include -o yaml. Furthermore you can add “> website.yaml” to the end of the kubectl command to write the yaml to a file, that you can edit further using vim editor. Think multiple containers, env vars, mounted drives etc.
4. Monitors, webcam and other hardware related queries
Let’s take the time to talk about physical hardware on the examination day. Regardless of what was allowed in the past as of September 2023 you are only allowed one monitor during the proctored exam. If you only have a laptop and you will require a bigger space (I would say in almost all cases you will), you will need to provide a high-quality web camera, one at least 2k resolution, a microphone and an external keyboard and mouse.
You are not allowed to add another monitor or open your laptop to access your camera once the exam has started. This will trigger the end of the exam. In addition, you cannot close one monitor and open the lid of your laptop to validate your ID and then swap as the proctor will end the exam.
There are no exceptions or if buts or maybes. If they cannot see your ID clearly you will not get to sit the exam and there are automated processes to end the exam if you mess with your hardware. You cannot navigate away from your examination environment to a browser on your desktop with pre-defined shortcuts either
You have been warned, however if you cannot get into the exam due to authentication issues or hardware issues, I recommend reaching out to the Linux foundation, there is every chance they will reset the try for you. However it will be a minimum of two days before you can resit.
5. Navigating the CKAD examination environment
Copy and paste is different in Linux so if you are a Windows and Mac user and find yourself sitting this exam get used to operating in a Linux environment with the keys you have. Use the mock code exams that you get for free using killer coda. You will find a link to these in your exam guide link.
- For Linux: Select text for copy and middle button for paste (or both left and right simultaneously if you have not middle button).
- For Mac
⌘+
C to copy and⌘+
V to paste. - For Windows: Ctrl+Insert to copy and Shift+Insert to paste
There may be some light maths involved in some of the questions. If this is something you think you will need learn how to access the calculator in Linux. I did not see it readily available and went without it. I would have rather had it.
6. Navigating the proctorial process (PSI)
I found this the most infuriating part of the exam. You get yourself all ready for the exam and the gate keepers will not always free the exam up. In my case i had an external web camera and the proctor had said that it was not clear enough to view my exam. I wanted to use this as I did not want to sit the exam on my laptop monitor. There is not a lot of space, by the time you take in the examination platform space and the questions.
I was kicked out of an hour of trying to find a solution. Such as disconnecting my second monitor, opening my main laptop, checking my Id and then swapping back. They ended the process saying I was no longer connected. In the end I purchased a new web camera and that worked.
The proctor will check your arms, ask you to remove hats, check under your desk and scan the room. so ensure you are able to do this. The only room i had available was a glass room. I used back plastic wrap to cover the glass so that the proctor would release the exam.
In addition ensure there are no books or written text lying about.
7. Tackling Each CKAD Exam Question
Read each question twice, read each question twice, no that was not a typo! In case you did not get it, you need to read every question twice. There are some minor points that I almost missed such as writing output to a file. Do you really want to lose all the marks for that question by missing a small part any given question?
Time is your enemy in this course. There will be next to no time to revisit any questions so in case I have not overplayed the read every question twice, read every question twice! In saying this you can mark questions you have not answered and come back to them after you have targeted the more straight forward questions and this is a decent strategy. You do not want to revisit question you think you have answered correctly.
8. Contacting the Linux Foundation
If you fail the exam by a margin you can ask for your exam to be reassessed manually. They recommend that the opportunity for error is so small that it would have to be in the margins of one question wrong.
There is a fee attached to this process and it is not cheap, you also only have a small window on which to ask for manual marking. Regardless, it is worth asking as they may let you resit the exam free of charge depending on how bad their backlog of marking is.
9. Sitting the CKAD Exam with Learning Disabilities
Sitting the CKAD exam with learning difficulties, can be quite a challenge. The official course from the Linux foundation is all text based and very closely follows the exam. Fortunately there is an alternative video based course for suffers of dyslexia in Udemy. I highly recommend using both either way as the Udemy course is a great way to sharpen you skills and you also get some practice labs and mock exams to practice with.
In addition to this, if you have been tested, have proof of your condition and would like extra time, then you can ask in advance. All you need to do is fill out the paperwork and they will accommodate your request. I would highly recommend this if you can as there is very little time in the best of scenarios.
Summarising the CKAD Exam
Please do not underestimate the soft skill side of this exam, such as copy and paste, reading the question twice and using the terminal env vars to reduce your typing. Also get familiar with K8s documentation and using the shortcuts provided in the exam. It is one of the only pages you can visit for help during the exam. I had a couple of stingers, it worked for me.
Best of Luck!