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

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:

Create a PodSecurityPolicy to Prevent Privileged Containers
  1. Create a PodSecurityPolicy called nopriv-psp.
  2. Configure nopriv-psp to prevent the creation of Pods with privileged containers.

Note: PodSecurityPolicy is already enabled in the cluster.
You can find a skeleton manifest for the PodSecurityPolicy on the CLI server at /home/cloud_user/nopriv-psp.yml.

Use the PodSecurityPolicy to Secure a Namespace
  1. Create a ServiceAccount in the hoth namespace called hoth-sa.
  2. Create an RBAC setup to use the PodSecurityPolicy.
  3. Create a ClusterRole called use-nopriv-psp that allows usage of the PodSecurityPolicy.
  4. Create a ClusterRoleBinding called hoth-sa-use-nopriv-psp to bind the ClusterRole to the ServiceAccount.

Note: You can find skeleton manifests for these objects on the CLI Server at:

  • /home/cloud_user/hoth-sa.yml
  • /home/cloud_user/use-nopriv-psp.yml
  • /home/cloud_user/hoth-sa-use-nopriv-psp.yml

You can test your setup using the Pod manifest at /home/cloud_user/luke.yml. The Pod should fail creation since it uses a privileged container.

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?