Today, I attempted the Certified Kubernetes Application Developer (CKAD) certification. Below is a set of tips and insights that allowed me to pass it smoothly.
Sources Link to heading
I relied on Mumshad Mannambeth’s course on Udemy. The course cost around 50 PLN and is worth every penny.
For each discussed topic, the course provides an independent Kubernetes environment along with a series of tasks to complete.
Although the environment does not fully replicate the one in the exam, it helps with mastering YAML generation/editing and kubectl
commands.
To complement this, I used Killerconda and their environment, which covers several key topics relevant to the certification.
The day before the scheduled exam, I took a practice test from killer.sh. I scored slightly above 66% within 2 hours. For the rest of the day, I filled in my gaps and worked on the tasks I didn’t manage to complete or didn’t know how to solve during the test.
Commands Link to heading
During the certification, you need to connect to a separate host for each task via ssh. The command you need to execute along with the host is embedded in each task. For example:
ssh ckad0123
Almost every task must be completed within a given namespace. It’s helpful to open a separate terminal window and prepare the command to switch namespaces:
kubectl config set-context --current --namespace
You can copy and paste this command directly onto the host where you will perform the task, for example:
ssh ckad0123
controlplane@ckad0123 > kubectl config set-context --current --namespace elephant
Additionally, it’s worth remembering declarative pod and deployment creation:
k run poddy --image nginx
This will create and start a pod named poddy using the nginx image.
Sometimes, for more complex tasks that cannot be solved purely via the CLI, it’s good to remember dry-run mode and generating YAML files using kubectl:
k run poddy --image nginx -o yaml --dry-run=client > pod.yaml
vi pod.yaml
Similarly, for deployments:
k create deploy nginx-deployment --image nginx:latest --replicas 3
Helpful commands include:
k label
k set image
k replace --force -f some.yaml