My Experience and Tips for Passing the Certified Kubernetes Application Developer (CKAD) Exam

My Experience and Tips for Passing the Certified Kubernetes Application Developer (CKAD) ExamMost recently, I successfully passed the Certified Kubernetes Application Developer (CKAD) exam and got certified. Today I want to talk about the certification procedure itself and how I prepared for it. For me it was an interesting experience of taking the exam online under the close supervision of the examiner. There will be no valuable technical information here, the article is purely narrative in nature. Also, I did not have a great background in working with Kubernetes and there was no joint training with colleagues, I studied and trained myself in my spare time.

I am quite young in the field of web development, but I immediately realized that without at least basic knowledge of Docker and K8s you will not go far. Taking the course and preparing for this kind of exam seemed to me a good entry point into the world of containers and their orchestration.

If you still think that Kubernetes is too complicated and it's not for you, please under cat.

What it is?

There are two types of Kubernetes certification from the Cloud Native Computing Foundation (CNCF):

  • Certified Kubernetes Application Developer (CKAD) - Testing the ability to design, build, configure, and publish cloud native applications for Kubernetes. The exam lasts 2 hours, 19 tasks, a passing score of 66%. Very superficial knowledge of the basic primitives is required. Cost $300.
  • Certified Kubernetes Administrator (CKA) is a test of skills, knowledge and competence to perform the duties of Kubernetes administrators. The exam lasts 3 hours, 24 tasks, a passing score of 74%. More in-depth knowledge of building and configuring systems is required. The cost is also $300.

The CKAD and CKA certification programs were developed by the Cloud Native Computing Foundation to expand the Kubernetes ecosystem through standardized training and certification. This fund was created by Google in partnership with the Linux Foundation, to which Kubernetes was once transferred as an initial technological contribution and which is supported by companies such as Microsoft, Apple, Facebook, Cisco, Intel, Red Hat and many others (c) Wiki

In short, these are exams from the β€œmaster organization” for Kubernetes. Of course, there are certifications from other companies as well.

What for?

This is probably the most controversial point in this whole undertaking. I don’t want to breed holivar on the topic of the need for certificates, I just want to believe that the presence of this kind of certificate will positively affect my value in the labor market. Everything is subjective - you never know what will serve as a turning point in the decision to hire you.

PS: I'm not looking for a job, now everything suits me ... well, except with a relocation somewhere in the USA

Prepare

There are 19 questions in the CKAD test, which are divided into topics as follows:

  • 13% - Core Concepts
  • 18% - Configuration
  • 10% - Multi-Container Pods
  • 18% Observability
  • 20% - Pod Design
  • 13% – Services & Networking
  • 8% State Persistence

On the Udemy platform, there is just a gorgeous course from one Hindu named Mumshad Mannambeth (the link will be at the end of the article). Really high quality material for a small price. What is especially cool is that during the course it is proposed to perform practical exercises in a test environment, so you gain the skill of working in the console.

I went through the entire course and solved all the practical exercises (of course, I didn’t do without peeping into the answers), and immediately before the exam, I reviewed all the lectures at an increased speed and re-passed the last two mock exams. It took me about a month at a calm pace. This material was enough for me to confidently pass the exam with a score of 91%. In one task, I made a mistake somewhere (NodePort did not work), and a few minutes were not enough to complete another task with the ConfigMap connection from the file, although I knew the solution.

How is the exam

The exam takes place in the browser, with the webcam turned on and the screen is shared. Exam rules require that there are no strangers in the room. I took the exam when the country had already introduced a regime of self-isolation, so it was important for me to find a quiet period so that my wife would not enter the room or the child would not scream. I chose deep night, since the choice of time is available for every taste.

At the very beginning, the examiner requires you to show your Primary ID containing a photo and full name (in Latin) - I had a foreign passport, and deploy a webcam to the desktop and room to make sure there are no foreign objects.

During the exam, it is acceptable to keep another browser tab open with one of the resources:​https://kubernetes.io/docs/,https://github.com/kubernetes/or https://kubernetes.io/blog/. I had this documentation, it was quite enough.

In the main window, in addition to the text of tasks, the terminal and the chat with the examiner, there is also a note window where you can copy some important names or commands - it came in handy a couple of times.

Tips

  1. Use aliases to save time. Here's what I used:
    export ns=default # пСрСмСнная для нэймспСйса
    alias ku='kubectl' # ΡƒΠΊΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ
    alias kun='ku -n=$ns' # kubectl + namespace
    alias kudr='kun --dry-run -o=yaml' # ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ‚ΡŒ yaml описаниС для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
  2. Memorize command flag combinations run, to quickly generate yaml for different objects - pod/deploy/job/cronjob (although it is not necessary to remember them at all, you can just look at the help with the flag -h):
    kudr run pod1 --image=nginx --restart=Never > pod1.yaml
    kudr run deploy1 --image=nginx > deploy1.yaml
    kudr run job1 --image=nginx --restart=OnFailure > job1.yaml
    kudr run cronjob1 --image=nginx --restart=OnFailure --schedule="*/1 * * * * " > cronjob1.yaml
  3. Use abbreviated resource names:
    ku get ns # вмСсто namespaces
    ku get deploy # вмСсто deployments
    ku get pv # вмСсто persistentvolumes
    ku get pvc # вмСсто persistentvolumeclaims
    ku get svc # вмСсто services
    # ΠΈ Ρ‚.Π΄., ΠΏΠΎΠ»Π½Ρ‹ΠΉ список ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅: 
    kubectl api-resources
  4. Properly allocate time to complete all tasks, do not hang on one thing, skip questions and move on. At first, I thought that I was doing the tasks at a very high pace and would finish the exam ahead of schedule, but in the end I did not have time to finish two tasks. In fact, the time for the exam is allotted back to back, and all 2 hours pass in suspense.
  5. Do not forget to switch the context - at the beginning of each job, a switch command is given to work in the desired cluster.
    Also keep an eye on the namespace. For this I used another hack:

    alias kun='echo namespace=$ns && ku -n=$ns' # ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкой Ρƒ мСня выводился Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ нэймспСйс
  6. Do not rush to pay for certification, wait for discounts. The author of the course often sends promotional codes with 20-30% discounts to the mail
  7. Finally learn vim :)

Links:

  1. www.cncf.io/certification/ckad - the actual certification page itself
  2. www.udemy.com/course/certified-kubernetes-application-developer – a very good course for preparation, everything is clear and with illustrations
  3. github.com/lucassa/CKAD-resources β€” useful links and notes about the exam
  4. habr.com/ru/company/flant/blog/425683 - a story from Habr colleagues about passing a more difficult CKA exam

Source: habr.com

Add a comment