CKAD Certified Kubernetes Application Developer by LinuxFoundation
Today I am celebrating my 31st certification, after having passed the CKAD: Certified Kubernetes Application Developer certification issued by The Linux Foundation.
This time too, I would like to share my feedback, my mistakes when passing certification, some tips to follow and some important points in preparing certification.
General information about the certification
The purpose of certification
The Certified Kubernetes Application Developer (CKAD) certification is designed to ensure that certification holders have the skills, knowledge and competencies necessary to assume the responsibilities of Kubernetes application developers. A Kubernetes certified application developer can define application resources and use basic primitives to build, monitor and troubleshoot scalable applications and tools in Kubernetes.
The difference between CKAD, CKA, CKS
- CKAD (Certified Kubernetes Application Developer): CKAD is intended for developers who will use Kubernetes as an orchestrator in their development projects and cloud engineers.
- CKA (Certified Kubernetes Administrator): CKA is intended for DeVops, Engineers and Cloud Architects and Architects. CKA certification is much more difficult than CKAD.
- CKS (Certified Kubernetes Security Specialist): CKS is intended for security experts, DevOps experts, Cloud Architects, Security Architects. CKS is a very difficult certification, and it takes a lot of time to be prepared.
The content of the certification:
- Core Concepts (13%)
- Configuration (18 %)
- Multi-Container Pods (10%)
- Observability (18%)
- Pod Design (20%)
- Services & Networking (13%)
- State Persistence (8%)
Candidate Handbook: https://docs.linuxfoundation.org/tc-docs/certification/lf-candidate-handbook
Frequently Asked Questions: https://docs.linuxfoundation.org/tc-docs/certification/faq-cka-ckad-cks
Difficulties of the exam
- The time: 2 hours are very short to do all the labs. In general, certifications where documents are allowed tend to be more difficult than MCQ certification.
- YAML files: Files are long, a small training error on a line can take time to fix it (luckily there is a solution for that).
Practical exercises to pass necessarily before the exam
Means of preparation that I advise
- If you are touching Kubernetes for the first time, start with this Mumshad Mannambeth Udemy course with practical labs https://www.udemy.com/course/learn-kubernetes
- If you are familiar with Kubernetes: this Udemy course from Mumshad Mannambeth will be your best friend: https://www.udemy.com/course/certified-kubernetes-application-developer/
This course contains: 26 practical labs, 2 lightings labs, 6 mini-mock and 2 mock exams. And are all with the solution in videos.
- If you like Oreilly: (For beginner or Advanced)
Certified Kubernetes Application Developer (CKAD) Sander van Vugt
- Because it starts with the basic to the advanced topics of Kubernetes.
- It’s a video course with workshops and labs.
- This course has several labs for certification training, and this is included in the courses https://www.katacoda.com/ .
My first tips for successful certification on the first attempt and with a 100% score
During the exam:
- Resist the urge to answer questions sequentially.
- I strongly recommend answering questions based on their weight. All questions have their weight displayed. Some issues with a lower weight will take longer. So it is better to go back to these questions once you have finished the higher weight issues.
- Use the exam notepad.
- You should know that you only have the right to open one tab of the maximum browser! Therefore, it is not possible to open several links at once.
- Learn with the Kubernetes site documentation to become familiar with the documentation and to quickly search the site during the exam. Personally, I made 25 browser shortcuts and here are the 3 links that helped me the most:
- Use auto-completion and alias K instead of kubectl.
source <(kubectl completion bash)
complete -F __start_kubectl k
- K8s offers two ways to define/manage configuration:
- a] Imperative — Manage K8s object using CLI ( imperative commands)
- b] Declarative — By defining K8s objects in yaml file.
Use the Imperative style as much as possible, here is your reference:
- Promote the use of generators for Job, CronJob, Network Policies etc: this link is very useful:
- Use maximum conventions and best practices to avoid unexpected pod errors:
- Use the vim commands, to display or open text with line numbers. When there is an error, Kubernetes shows you the line number, where there is the error:
:set nu # afficher les numéros de lignes
:set nu! # désactiver l'affichage des numéros de lignes
- kubectl explain is your magic secret:
This command simplified the task for me during the exam to have the YAML syntax of a resource element.
- kubectl explain pods.spec.tolerations –recursive
- Use shortnames to avoid writing a very large command line that becomes difficult to analyze. The kubectl api-resources command displays all shortnames:
How many days did the preparation take me?
Response: 2 weeks and 4 days (2 hours per day).
The duration of preparation is very personal and depends above all on the experience of each one with Kubernetes.
- My context:
- I had previous experience with Rancher v1.6 and Rancher v2.1.
- I used Docker swarm when it was unstable.
- I had a basic experience with Openshift 3.1.
- I also used Spinnaker 1.19 and it was a hell of an experience as I lost 3 weeks in the encryption due to its instability and lack of documentation.
- I was good at Docker
I wish you good luck!