CKAD Exam Failure

Disclaimer: the views, thoughts, and opinions expressed in the text belong solely to the author, and not necessarily to the author’s employer, organization, committee or other group or individual.

Today I took my first shot at the Certified Kubernetes Application Developer Exam and failed. I found the exam to be interesting and easy at first but as I progressed through the exam that feeling changed. But before I go talking about the exam lets be clear and state that there is a Confidentiality Agreement agreement that I’m bound to so I can’t give you much about the exam however I can talk about the curriculum and some of my shortcomings.

Lets start off with the duration of the exam (tips) it has 19 problems and you only have 2 hours to complete them. With that said during the exam you have the ability to open one additional tab in order to access assets on the kubernetes.io domain for reference during the exam. Why is this important, well remember how I said you have 2 hours for the exam well? Visiting the k8s website is time consuming and should be avoided at all cost. This is where I will provide my first piece of advice.

1. Learn how to use kubectl explain.

No seriously if you didn’t know `kubectl explain` (docs) describes the fields associated with each supported API resource, for example if I wanted to know how to run a job using a specific service account then I would do the below:

$ kubectl explain jobs.spec.template.spec.serviceAccount
KIND: Job
VERSION: batch/v1
FIELD:    serviceAccount <string>
DESCRIPTION:
DeprecatedServiceAccount is a depreciated alias for ServiceAccountName.
Deprecated: Use serviceAccountName instead.

knowing how to effectively use the above can help you save time and determine where a particular keyword should go in your yaml file. To segway into my next point which has a bit of overlap with my prior one.

2. Focus your efforts on questions that have higher percentage scoring.

One of the mistakes I committed was putting in to much time debugging a solution for a question that had a low single digit percentage. Think of this like a Return on Investment(ROI) you really only have 2 hours/ 120 minutes and 19 questions so that’s ~6.3 minutes per question if we were to evenly distribute the time to each one.

My final piece of advice would be.

3. Prepare yourself by practicing exercises.

Seriously you have to practice, it’s not that I did not practice but that I focused on topics that I shouldn’t have. One of the topics I probably should have invested more in was deployments with multiple containers. I think a good technical and conceptual resource would be The Distributed System ToolKit: Patterns for Composite Containers. As for other resources I would recommend are Kubernetes Doc Tasks specifically the topics

  1. Configure pods and Containers.
  2. Inject data into applications.
  3. Run applications.
  4. Run jobs.
  5. Access Applications in a Cluster.
  6. Monitor, Log, and Debug.

Lets not forget katacoda k8s course and edx introduction to kubernetes. I highly recommend the prior and is what I will be doing as part of my post-exam preparation for my retake. I had actually started both the katacoda and edx courses but did not finish them, so I do need to wraps those up. If you like what you see or have any comments/questions please don’t be shy and reach out in the comment section below.

Edit:

(06/26/2018) - Added disclaimer.