I recently pursued 2 Kubernetes certifications by Linux Foundation:

  • Certified Kubernetes Administrator (CKA)
  • Certified Kubernetes Application Developer (CKAD)

I have been deploying, managing and using Kubernetes on Jetstream for more than 4 years (my first tutorial back in 2017).

However I never did any formal training so my knowledge was sparse. I was extremely useful to follow the 2 classes by Linux Foundation related to the certifications, they gave me a more systematic view of all parts of Kubernetes.

I decided to follow both, but there is a lot of overlap, so better choose one of the 2, if you are more interested in using Kubernetes to deploy applications, do only CKAD and the related class, if you need to administer Kubernetes deployments, take only CKA.

The most important part of the training is the “test session” on Killer.sh, this is a simulation of the real certification exam and gives you a lot of experience in being fast in navigating the docs and using kubectl. The exam itself also teaches a lot, you are logging into Kubernetes clusters, solving issues and performing real-world tasks.

The certification exam is done via proctoring, but the process is quite painless. For the exam you really need to be fast and know how to create resources with kubectl create instead of writing YAML every time, go for YAML just for the more complicated resources. I got to the end of both exams with 15 minutes to spare on the total of 2 hours, that I used to debug the questions I couldn’t do in the first pass.

Suggestions for the tests

Have bookmarks ready, I found a set on the web and added a few of my own, see https://gist.github.com/zonca/b1f7ee0f884cae8011e86a41e6c525d5, you can also copy the links to the YAML files and do wget from the terminal.

Bash

You need to memorize these variables and aliases to type into .bashrc:

export do="--dry-run=client -o yaml"
export now="--force --grace-period 0"
alias  kr="kubectl --replace $now -f"
export VISUAL=vim
export EDITOR=vim

The variables about vim are needed to have vim keybindings in TMUX. kr is very useful because you can use it instead of k apply -f and you have it ready if you need to modify the YAML and replace the resource.

$do is necessary to create the YAML for a resource with k create and then go from there. $now just to quickly delete resources.

Vim

Minimal .vimrc for editing YAML files:

set expandtab
set shiftwidth=2
set tabstop=2

TMux

You already use TMux, so it is useful to have 2 windows, the first one for kubectl and the second for vim, it is important not to confuse them, you only go configure the environment in the first window, so you can run kubectl only there.

In case you use the screen mode with CTRL-A as I do, no need to memorize the spell, just open man tmux, search for default prefix and copy paste into .tmux.conf:

set-option -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix