Certified Kubernetes Security Specialist (CKS) - Practice Exam Part 1

30 minutes
  • 2 Learning Objectives

About this Hands-on Lab

This lab provides practice scenarios to help prepare you for the Certified Kubernetes Security Specialist (CKS) exam. You will be presented with tasks to complete, as well as server(s) and/or an existing Kubernetes cluster to complete them in. You will need to use your knowledge of Kubernetes to successfully complete the provided tasks, much like you would on the real CKS exam. Good luck!

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Fix a Pod’s Service Account That Has Too Many Permissions
  1. The buffy Pod in the sunnydale namespace has a buffy-sa ServiceAccount with permissions the Pod doesn’t need. Modify the attached Role so that it only has the ability to list pods.
  2. Then, create a new Role called watch-services-secrets that grants permission to watch, services, and secrets.
  3. Bind the Role to the ServiceAccount with a RoleBinding called buffy-sa-watch-rb.

Note: You can find skeleton manifests for the new role and RoleBinding on the CLI server at:

   /home/cloud_user/watch-services-secrets.yml
   /home/cloud_user/buffy-sa-watch-rb.yml
Fix a Pod Configured to Use an Incorrect Service Account

A Pod in the cluster cannot be created properly because its ServiceAccount is misconfigured.

  1. The Pod is meant to live in the bespin namespace. Delete the existing ServiceAccount from this namespace.
  2. Create a new ServiceAccount called lando-sa.
  3. Configure the Pod to use the lando-sa ServiceAccount.
  4. Create the Pod.

Note: You can find the Pod manifest at /home/cloud_user/lando.yml on the CLI server.

Additional Resources

Use the provided environment to complete the tasks detailed in the learning objectives.

You can access all components of the cluster from the CLI server. The control plane server is k8s-control, and the worker is k8s-worker1. If you need to log in to the control plane server, for example, just use ssh k8s-control from the CLI server.

You can also use kubectl from the CLI server, control plane node, or worker to interact with the cluster. In order to use kubectl from the CLI server, you will need to select the acgk8s cluster to interact with, like so: kubectl config set-context acgk8s.

kubectl is aliased to k, and Kubernetes autocompletion is enabled. You can use the k alias like so: k get pods.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?