All Linux Foundation / CNCF exams
Linux Foundation / CNCF CKS: Certified Kubernetes Security Specialist
What the CKS exam covers and what it costs, with a free 30-question practice test and an explanation for every answer.
- Exam fee
- $445 USD
- Level
- Professional
- Topic areas
- 6
- Free practice questions
- 30
- Full question bank
- 100 questions
What the CKS exam covers
The topic areas in our CKS question bank, with each one's share of the 100 practice questions.
| Topic | Share | Questions |
|---|---|---|
| Monitoring, Logging and Runtime Security | 21% | 21 |
| Minimize Microservice Vulnerabilities | 20% | 20 |
| Supply Chain Security | 20% | 20 |
| Cluster Hardening | 15% | 15 |
| System Hardening | 13% | 13 |
| Cluster Setup | 11% | 11 |
CKS cost and format
| Exam code | CKS |
|---|---|
| Certification | Certified Kubernetes Security Specialist |
| Vendor | Linux Foundation / CNCF |
| Level | Professional |
| Status | Active |
Last checked October 22, 2026 against the official Linux Foundation / CNCF exam page.
CKS sample questions
The first 5 questions from the free practice test. Open a question to see the answer and why it is right.
Question 1Monitoring, Logging and Runtime Security
A security engineer wants an alert when a shell is started inside a running container. Which open-source runtime security tool detects this kind of behaviour?
- Akube-bench
- Betcdctl
- CTrivy
- DFalco
Show answer and explanationHide answer
Correct answer: DFalco watches system calls and Kubernetes events and raises alerts on suspicious behaviour, such as an interactive shell spawned in a container. Kube-bench checks configuration, Trivy scans images, and etcdctl is a database client.
Question 2Minimize Microservice Vulnerabilities
A namespace must enforce the restricted Pod Security Standard so that non-compliant pods are rejected at creation. Which label should be applied to the namespace?
- Apodsecuritypolicy.kubernetes.io/enforce=restricted
- Bpod-security.kubernetes.io/enforce=restricted
- Csecurity.policy/restricted-mode=true
- Dpod-security.kubernetes.io/audit=restricted
Show answer and explanationHide answer
Correct answer: BThe enforce mode label rejects pods that violate the chosen Pod Security Standard. The audit label only records violations, and the other two labels are not recognised by Pod Security Admission, because PodSecurityPolicy has been removed from Kubernetes.
Question 3Supply Chain Security
A security team needs a software bill of materials for each container image to track which packages it contains. Which open-source tool generates this inventory?
- Akube-hunter
- BFalco
- Ckube-bench
- DSyft
Show answer and explanationHide answer
Correct answer: DSyft catalogs packages and produces SBOMs in formats such as SPDX and CycloneDX. Falco detects runtime behaviour, kube-bench checks cluster configuration against CIS benchmarks, and kube-hunter probes a cluster for weaknesses.
Question 4Cluster Hardening
A service account named report-reader in the dev namespace must only list and get pods, and only inside dev. Which combination grants exactly that?
- AA Role in dev allowing get and list on pods, plus a RoleBinding in dev that binds it to the service account
- BA ClusterRoleBinding that grants the built-in cluster-admin ClusterRole to the service account
- CA ClusterRole with wildcard verbs on pods, bound with a ClusterRoleBinding to the whole cluster
- DA Role created in kube-system with get and list on pods, bound to the service account by a RoleBinding
Show answer and explanationHide answer
Correct answer: AA namespaced Role with the minimal verbs and a RoleBinding in the same namespace limits the grant to dev. A ClusterRoleBinding would grant the rights in every namespace, and a Role in kube-system does not apply to pods in dev at all.
Question 5System Hardening
A team wants a container to run under an AppArmor profile that is already loaded on the worker node. In a current Kubernetes release, which securityContext field sets this on a container?
- Aspec.containers[].securityContext.appArmorProfile with type Localhost and the profile name
- BA seccomp profile of type Unconfined set in the container securityContext, disabling checks
- Cspec.hostPID set to true so the pod shares the node's PID namespace with host processes running
- DThe --enable-admission-plugins=PodSecurity flag passed to the kubelet, which enforces Pod Security Standards
Show answer and explanationHide answer
Correct answer: AThe appArmorProfile field on a container security context selects the AppArmor profile, and Localhost refers to a profile loaded on the node. hostPID is a namespace setting unrelated to AppArmor, and the admission plugin enforces Pod Security Standards without choosing a profile.
How to prepare for CKS
- Read the official Linux Foundation / CNCF outline first (exam page), so you know exactly what is in scope.
- Give the most time to Monitoring, Logging and Runtime Security and Minimize Microservice Vulnerabilities: together they make up 41% of the questions.
- Take the free 30-question practice test and note which topics you miss.
- Go back to the weak topics, then test again. A practice score shows where to study; it does not predict your exam result.
Full CKS question bank
All 100 questions with answers and explanations, as a PDF, an online practice exam, or both.
Both formats together. The best value.
Instant access after payment, with 90 days of updates. Checkout is on our store, AIExamCerts.
CKS FAQ
Related exams
| Exam | Vendor | Level |
|---|---|---|
| KCSA: Kubernetes and Cloud Native Security Associate | Linux Foundation / CNCF | Foundational |
| KCNA: Kubernetes and Cloud Native Associate | Linux Foundation / CNCF | Foundational |
| CKA: Certified Kubernetes Administrator | Linux Foundation / CNCF | Associate |
| CKAD: Certified Kubernetes Application Developer | Linux Foundation / CNCF | Associate |
| ICA: Istio Certified Associate | Linux Foundation / CNCF | Associate |
| PCA: Prometheus Certified Associate | Linux Foundation / CNCF | Foundational |