My use case of passing Certified Kubernetes Administrator (CKA)
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
- Learn how to make a yaml skeleton with `kubectl run — dry-run -o yaml`.
- If you can prepare Yaml for deployment, pod, job, etc., you can reduce the time to prepare Yaml during the test.
- Using kubectl to jumpstart a YAML file — #HeptioProTip
- Kubernetes Tips: Creating a manifest template in kubectl
- Bookmarks list in kubernetes.io (e.g. kubectl cheatsheet)
- Keep the cheat sheet, of course, organized so that you can find it right away.
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
- Tips to crack Certified Kubernetes Administrator (CKA) Exam
- Certified Kubernetes Administrator (CKA) を取得してみた
- CKA (Certified Kubernetes Administrator) に受かったので所感とか
- Certified Kubernetes Administrator (CKA) 取得した
- Things to know before taking Certified Kubernetes Administrator (CKA) Exam
- Certified Kubernetes Administrator (CKA) 受験ログ
- Certified Kubernetes Administrator(CKA)を取得した
Github
- kelseyhightower/kubernetes-the-hard-way
- walidshaari/Kubernetes-Certified-Administrator
- ahmetb/kubernetes-network-policy-recipes