My use case of passing Certified Kubernetes Administrator (CKA)

Naoki Sega
5 min readMar 30, 2020

In this article, I am going to share with a use case I passed CKA, which was always taken up on one of the sessions at KubeCon. I’d like to share the information I’ve passed on Dec 27, 2018.

Motivation

  • I got to know about KubeCon and CNCF around this spring and started to join Cloud Native Meetup Tokyo and other communities.
  • Personally, I’m interested in Kubernetes, and I thought it would be an easy standard to understand when I wanted to use it as a reference for the output I learned.
  • Due to the changes in the environment around me, I had a chance to develop in an actual environment using Kubernetes, so I had a lot of potentials to make use of it.

Premise

Let me give you a brief introduction to my own background as a premise.

  • I have about 10 years of experience in service development and operation in both on-premises and public cloud environments.
  • I’ve been developing services in the public cloud (GCP, AWS) and Kubernetes environments.
  • Preparation for the exam begins in early October to mid-December 2018. Initially, I didn’t have any experience of running Kubernetes, so I just tried to understand hands-on and tutorials.

Summary of the examination

  • For more information on the Certified Kubernetes Administrator (CKA) Program, please visit here
  • Cost $300: Online Exam
  • 3 hours: 24 questions (passing line: 74%)

Exam related materials

The official published material is as follows.

Exam Curriculum (As of Dec 12, 2018)

  • Application Lifecycle Management 8%
    - Installation, Configuration & Validation 12%
    - Core Concepts 19%.
    - Networking 11%.
    - Scheduling 5%
    - Security 12%.
    - Cluster Maintenance 11%
    - Logging / Monitoring 5%
    - Storage 7%.
    - Troubleshooting 10%

What I did before the exam and what I tried to do

We prepared mainly on the basis of the following materials.

  • Kubernetes Fundamentals(LFS258)
    The official online learning material of the Linux Foundation. Personally, I would like to recommend the Linux academy’s later material because it was good as input for each category, but the exercises for a rehearsal of the exam were not enough. I bought one bundled with a voucher ticket for the exam.
  • Certified Kubernetes Administrator (CKA) Linux Academy
    In addition to being able to study for each category, there are Practice Exam — Hands-On Practice Exam that covers the entire range of the exam, so it is recommended that you can focus on operations.
  • kubernetes-the-hard-way
    The most recommended tutorials (installation of kubernetes, smoke test, cleanup) as far as I could find. There’s a lot of todos, but it’s the best because you can learn through it.
  • Official Kubernetes Documentation
    The only document that can be referenced during the exam. It’s good to know what and where it’s written.
  • The first time you set up a GCP account for training, you will receive a credit worth about 30,000 yen, which is convenient.
  • Voucher tickets can be taken twice, and even if you fail the first time, you can take another retake within a year. In my case, I was able to pass this exam 84% of the time on my second retake after falling 64% of the time on my first retake.

Time Frame fo Preparation.

- October 2018 — around mid-December.
— Early October to mid-November 2018: input-centered learning (1.5 months)
— I gave input for an overview understanding of each subject area and tried to run the operation.
— Early November to mid-December 2018: output-centered learning (1.5 months)
— Focusing on operations that are likely to appear in the exam questions.
— Timed and only official documentation at first. If you don’t understand, look it up and review it.
— My weaknesses were Security and TroubleShooting, so I focused on moving my hands, such as Tutorial, in those categories.

The points that I thought and worked out during the examination?

  • Every problem is an operational problem, so if you’re not familiar with executing commands, it will take more time than you think.
  • Understanding the contents of each parameter by the `kubectl explain` command.
  • kubectl explain — #HeptioProTip

e.g. kubectl explain deployment

$ kubectl explain deployment
KIND: Deployment
VERSION: extensions/v1beta1
DESCRIPTION:
DEPRECATED — This group version of Deployment is deprecated by
Deployment enables declarative updates for Pods and ReplicaSets. app/v1beta2/Deployment.
Deployment enables declarative updates for Pods and ReplicaSets.
Deployment enables declarative updates for Pods and ReplicaSets. FIELDS:
FIELDS: apiVersion <string>
APIVersion defines the versioned schema of this representation of an
Servers should convert recognized schemas to the latest internal
value, and may reject unrecognized values. more info:
https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind <string>
Kind is a string value representing the REST resource this object
Servers may infer this from the endpoint the client submits
requests to. cannot be updated. in CamelCase. more info:
https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata <Object>.
Standard object metadata.
Spec <Object>.
Specification of the desired behavior of the Deployment.
Status <Object>.
Most recently observed status of the Deployment.
You can dig deeper into each parameter to find the meaning of the parameter, how to set it, and the location of the reference URL.

e.g. kubectl explain deployment.kind

$ kubectl explain deployment.kind
KIND: Deployment
VERSION: extensions/v1beta1
FIELD: kind <string>
DESCRIPTION:
Kind is a string value representing the REST resource this object
Servers may infer this from the endpoint the client submits
Requests to. cannot be updated. In CamelCase. more info:
https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds

Difficulties

  • This course is more about actual operation than knowledge, so you need to train your hands intently. It takes a lot of study time to memorize the whole thing.
  • You need to get used to the web-based terminal. It took me longer to get used to it than I thought it would.
  • Venue arrangements. If you have a private room like the company’s centralized room, you can get away with it, but when looking for a rental space, it’s hard to find an affordable place to rent.

Conclusion

  • In this article, I would like to share with you some of my own efforts and difficulties in taking the CKA exam.
  • It is a different stage to be able to make it work immediately in the field environment, but I think it will prove that you have learned based and systematically by taking this course.
  • It is already possible to take the test in Japanese, so I think it is easier to try.
  • In the near future, I would like to keep the contents and verification results that I have learned through actual operation and development in the field as know-how.

Reference

Blog

Github

Other resources

Books

--

--

Naoki Sega

Software Engineer. (GCP / Go / Kubernetes). My favorite motto is "Do or do not. There is no 'try.' " (by Jedi Master Yoda.)