CKS - Certified Kubernetes Security Specialist

As a Site Reliability Engineer, you need to keep your skills sharp. It’s a journey into continuos learning, one of the things I enjoy the most of in my job. There’s no question that different people learn in different ways, a well-structured hands-on certification guides you through the most relevant subjects while keeping the process very practical.

One year after passing the CKA I decided to take the CKS certification. I admit I was skeptical since I always thought, security is someone else business… but quite far from the truth.

When comparing CKS with the CKA, I found it straightforward even though the topics were completely new to me, yet more interesting and engaging to deep dive through the content.

The key difference between CKS and CKA it’s not only about security but interacting with the different Kubernetes components. For instance, understanding how a request to the API server works end to end.

Admission controllers

One of the topics I got more interested in was admission controllers. The Kubernetes API server already has a few built-in that we use daily. Thus, the admission controller AlwaysPullImages takes care of always pulling the image for every new Pod. There are well-known admission controllers such as LimitRange to enforce constraints on any given namespace.

To mention some of the most common use cases:

  • Enforcing that only images from a certain registry are allowed.

  • Limit certain capabilities.

  • Limit commands to run as the root user.

[kubectl] -> [authentication] -> [authorization] -> [{admission controllers} - DefaultStorageClass] -> Create PVC

Validating and Mutating webhooks

  • mutating can change the request, this goes first.
  • validate allows or denies the request.

The order evaluated is important. It’s possible to have admission controllers that do both.

Overall, I enjoyed the challenge and hopefully this year I’ll find the time to get done the CKAD.