Preparation and tips for the Certified Kubernetes Administrator Exam

by

I’m putting this together before i pass the exam, going to collect information from different places.

Exam information:

CKA is designed to test if the candidates have enough knowledge and skills to be a K8s administrator. You need to know what skills and abilities the CKA expect the candidates to demonstrate in the exam, so you can align your daily practices with these requirements accordingly during preparation.

Be sure to read the CNCF CKA Exam Curriculum to understand what’s included in the CKA exam. The curriculum may change a little bit along with every K8s release, here is the outline when I take the exam:

  • 25% — Cluster Architecture, Installation & Configuration
  • 15% — Workloads & Scheduling
  • 20% — Services & Networking
  • 10% — Storage
  • 30% — Troubleshooting

Preparation
When you book your Certified Kubernetes Administrator exam, you get two killer.sh sessions for free to prepare for the exam with the exam simulator.

https://killer.sh/

I started using the exam simulator before my exam date. Each simulator session is available for 36 hours, and you can reset the simulator environment.

I did two runs of the exam simulator spent time getting familiar with the exam environment.

From those runs, I can tell you that you get the most out of the simulator and the confidence to pass the exam.

Might have been the simulator sessions enough to prepare for the exam? people have told me yes in the past however, better safe than sorry, as the exam is expensive.

Tips for the exam, that i’m going to pull from the internet and start to understand
People have suggested that you should spend the first three to five minutes of the exam getting Firefox and the terminal ready for the rest of the exam. Even wasting those five minutes at the beginning will pay off during the remaining time.

One first action, opening the Kubernetes documentation with Firefox.

https://kubernetes.io/docs/

After that, I opened the terminal and edited the .vimrc and .bashrc. Yes, I am using Vim and strongly recommend this text editor for the exam. The .vimrc contains three configurations per default, where I only kept the following two.

set tabstop=2
set expandtab
set tabstop=2

Defines that a tab stop is two whitespaces long. The other one, set expandtab, tells Vim that a tab stop uses whitespaces instead of the tabulator character, a huge difference when dealing with Kubernetes templates. Besides those two, I added a couple of other configurations to the .vimrc.

set number
set list
set lcs+=space:^
syntax on
I only like to highlight set number and set lcs+=space:^. Having line numbers in Vim is tremendously helpful if you messed up the Kubernetes template and kubectl apply -f returns the line number of the faulty configuration.

set lcs+=space:^ lets Vim display whitespaces as ^ in my case. Kubernetes templates are YAML files. Hence, correct indentation is crucial, and using set lcs+=space:^ makes it straightforward during the exam to accomplish this.

Vim in terminal window

After modifying the .vimrc I added a couple of configurations to the .bashrc to have them also available in the tmux windows.

Before we dive into those configurations, I have another tip for you. When you are not familiar with tmux or another terminal multiplexer, become familiar with terminal multiplexing. You definitely need this in the exam.

alias kx=’kubectl config use-context’
alias kn=’kubectl config set-context –current –namespace’
alias info=’kubectl config get-contexts’
export do=”–dry-run=client -o yaml”
The kx, kn, and info aliases let you easily switch between clusters and namespaces and verify that you are working within the correct context.

One of the tips from the exam simulator was the export do=”–dry-run=client -o yaml”. It is a huge time saver as you do not need to type every time –dry-run=client -o yaml when you want to create the Kubernetes template with kubectl run or kubectl create from scratch. And you need to do this in every up to every second question.

Do not forget to run source ~/.bashrc after you have modified the .bashrc.

When using kubectl run or kubectl create, always provide the target namespace with –namespace. This saves you from deploying to the wrong namespace when you forget to switch to the correct namespace with the kn alias.

Leave a Reply

Your email address will not be published. Required fields are marked *