Hello, I'm Joey, a front-end developer at WhaTap Labs. I'm going to talk about a review of getting the CKA certification, which I had set as my goal for 2023. I hope this content will be of great help to those preparing to obtain CKA.
There are 3 Kubernetes certified certifications: CKAD, CKA, and CKS. Among them, CKA is a test with the next level of difficulty from CKAD, and it is a qualification test that proves that you have the skills, knowledge, and abilities to perform the job of a “Kubernetes administrator.”
If you have obtained a CKA certification, “Why are front-end developers certified in Kubernetes?” I think I'll be asked the question. Personally, I've always had the idea that “studying must be linked to practice.” My main job is developing Kubernetes monitoring screens. Therefore, I needed a deep understanding of Kubernetes and its metrics.
Every time I understand Kubernetes little by little, I think, “There is an error in this indicator, so I should ask the server developer to confirm it,” or “Wouldn't it be helpful to monitor users if this kind of data was expressed like this?” The idea came to mind. So I decided to get a better understanding of Kubernetes by getting a Kubernetes certification this year. Through this, we wanted to better develop screens for users.
It was difficult to start studying CKA. It is said that getting started is important, but it wasn't easy to get started because it went hand in hand with work. Meanwhile, Jin Sik, the PO of our Kubernetes group, gave me a few direct message tests. This note test was a great opportunity to start studying. Of course, since I took the test without studying anything, I was almost unable to solve it. However, in the next message test, I started studying because I wanted to solve even a few questions. Furthermore, after I started studying, the information on the note test was better understood and easier to memorize. At the end of this post, I wrote down a few direct message test questions. I hope it will be an opportunity for all of you to start studying CKA with the note message test I have practiced.
After I started studying, I signed up for Udemy's “Certified Kubernetes Administrator With Practice Tests” course. This course was very helpful in understanding the theoretical content because I was able to do practical exercises every time. As I repeated the exercises, I was able to feel that my hands moved before my head later. This course helped me a lot in preparing for the CKA exam. Unfortunately, Korean subtitles are not well supported. However, after listening to Indian English a few times, you'll get used to it.
As you listen to the lecture, the level of difficulty increases starting with “Cluster Maintenance.” In particular, since I'm a front-end developer, there were parts I didn't understand due to lack of basic knowledge. However, I didn't get too caught up on the difficult part and made progress. Then, I solved the practice questions again from the beginning. Only the parts I couldn't solve or didn't understand were taken back to the lecture and solved the problem. As a result of doing this, things I didn't understand slowly began to be understood. Thanks to this, I was able to gain not only Kubernetes but also additional infrastructure knowledge.
I signed up for the test when I had solved up to 4 practice questions. However, I failed the first exam. This is because too much time was spent in the process of backing up ETCD or upgrading nodes. We recommend that you solve these two questions at the end, which take a long time when taking the test. The second reason I failed was the omission to specify a context using use-context. CKA must solve problems by changing each problem to a different context. However, it's easy to forget to change the context if you run out of time or when you're upset. Be sure to change the context and check before solving the problem.
I failed and learned how to change and check this context by practicing. The first exam was very nervous, and I was very perplexed by the test supervisor's frequent interference. Therefore, in the second test, I thought it was a test environment as much as possible so as not to be embarrassed, and I ran a lot of simulations in my head.
It wasn't easy to get the CKA certification, but I was very proud the moment I passed. And above all, I now have some understanding of Kubernetes, so I can develop better monitoring features.
After acquiring CKA, we developed a new feature called “object manifest.” This “object manifest” is a function that shows raw information (manifest) of objects such as Pods, Deployments, and Services in Kubernetes. kubectl describe
It's like providing information that can be viewed with a command as a UI.
While studying CKA kubectl describe
Since I used it countless times, I experienced the importance of this information and the inconvenience of viewing it on a terminal. Therefore, we have developed a function so that users can view this information more easily and comfortably.
Studying is more fun when it's related to work, and I think I can get better results. The experience of developing new competencies and developing useful features for users based on them was a valuable experience for me. We would like to continue developing various features to help our Watap users.
The questions below are direct message tests and are different from actual CKA questions. This question helps you start studying CKA with curiosity, so please use it as a reference.
Problem 1. The following is the result of querying Node information using the kubectl command. View this result and create the version and container runtime for node ip-10-21-120-186.ap-northeast-2.compute.internal.
Examples of correct answers
Problem 2. The following YAML file defines a ReplicaSet. Please fill in the blanks.
Examples of correct answers
apiVersion: apps/v1kind: replicasetmetadata:name: frontendlabels:app: testspec:replicas: 3selector:matchlabels:tier: frontendtemplate:metadata:labels:tier: frontendspec:containers: - name: nginximage: nginx:1.14.2
Problem 3. my-pod
Write a command to create a service to access a pod called. The following conditions must be met.
Examples of correct answers
kubectl expose pod my-pod --type=clusterIP --name=my-service --port=80