cks

Certified Kubernetes Security Specialist

DevOps / Containers

The Certified Kubernetes Security Specialist exam validates the skills, knowledge and competency required to secure container-based applications and Kubernetes platforms during build, deployment, and runtime. Tasks span cluster setup, cluster and system hardening, microservice vulnerability minimization, supply chain security, and runtime monitoring/logging.

exam: 17 questions · 120 min

Sign up free — practice 5 questions on this cert without a card.

Kubernetes securityCKA prerequisitePerformance-based120 min exam~15-20 hands-on tasks67% to pass$445 USD

Difficulty

Expert

Avg study time

60-120h

2 months typical for candidates who already passed CKA recently

Pass rate

Not published

CNCF / Linux Foundation does not publish a pass rate. The bundled killer.sh simulator is reliably harder than the real exam and is a useful gap-finder.

Market demand

High (niche)

Lower raw posting volume than CKA but a defensible specialty for DevSecOps / platform-security roles, with a CKA prerequisite gating the candidate pool.

Exam Domain Breakdown

Cluster Setup10%
Cluster Hardening15%
System Hardening15%
Minimize Microservice Vulnerabilities20%
Supply Chain Security20%
Monitoring, Logging and Runtime Security20%

Difficulty by Topic

NetworkPolicy default-deny + targeted allow rules
Default-deny ingress/egress per namespace, then explicit allow rules using podSelector + namespaceSelector + ports. Always allow DNS egress (kube-dns/CoreDNS UDP 53)
Pod Security Admission (baseline / restricted)
Replaces deprecated PodSecurityPolicy. Configure via namespace labels: pod-security.kubernetes.io/enforce=baseline|restricted, plus audit/warn levels
RBAC least-privilege + service account hardening
Disable automountServiceAccountToken, use distinct SAs per workload, prefer Roles over ClusterRoles, verify with kubectl auth can-i --as=system:serviceaccount:<ns>:<sa>
AppArmor / seccomp profiles on Pods
Load profile on node, reference via securityContext.appArmorProfile (1.30+) or annotation, and securityContext.seccompProfile.type=RuntimeDefault|Localhost
kube-bench (CIS benchmark) + kubelet hardening
Run kube-bench, interpret FAIL findings, fix kubelet flags (--anonymous-auth=false, --authorization-mode=Webhook, --read-only-port=0) and restart kubelet
Image scanning with Trivy + admission policies
trivy image --severity HIGH,CRITICAL --exit-code 1, ImagePolicyWebhook configuration, allowlisting registries via OPA/Gatekeeper or Kyverno ClusterPolicies
Sandboxed runtimes (gVisor / Kata Containers)
RuntimeClass with handler=runsc or kata, scheduling pods to sandboxed runtime via spec.runtimeClassName
Falco rules + behavioral runtime detection
Read /etc/falco/falco_rules.yaml, write a custom rule to detect package manager execution in containers, tail /var/log/syslog or falco service logs
Kubernetes audit logs + audit policy
Write Policy/v1 audit rules (RequestResponse for secrets, Metadata for pods), configure --audit-policy-file + --audit-log-path on kube-apiserver static pod manifest, restart
Secrets management (encryption-at-rest + etcd)
EncryptionConfiguration v1 with aescbc/secretbox provider, --encryption-provider-config kube-apiserver flag, kubectl get secrets -o json | kubectl replace -f - to re-encrypt existing secrets

Exam Tips

1

CKS assumes you already operate CKA-level kubectl fluency. The exam will not give you time to look up basic resource syntax - the time pressure is on the security tooling layer (Falco, kube-bench, Trivy, audit policies, AppArmor). If you're rusty on kubectl, fix that before booking CKS.

2

Day-zero shell setup matters even more than CKA. alias k=kubectl, export do='--dry-run=client -o yaml', export now='--force --grace-period=0', source <(kubectl completion bash). Practice with these aliases until they're muscle memory.

3

The exam allows a fixed list of documentation sites: kubernetes.io/docs, kubernetes.io/blog, falco.org/docs, the sigs.k8s.io/bom CLI reference, etcd.io/docs, the NGINX Ingress Controller user guide, docs.cilium.io, and istio.io/docs. Bookmark these in the exam browser. Search via the kubernetes.io search bar is allowed but you may not click out to external search results - Google is effectively blocked.

4

NetworkPolicy questions almost always require a default-deny baseline plus a narrow allow. The trap is forgetting to allow DNS egress (UDP 53 to kube-dns) - workloads will appear broken even when your policy 'looks right'. Always include DNS in your egress whitelist.

5

Pod Security Admission has fully replaced PodSecurityPolicy as of 1.25+. Practice setting all three label modes (enforce, audit, warn) on namespaces, and know which restricted-mode rules cause common pods to fail (runAsNonRoot, allowPrivilegeEscalation=false, capabilities drop ALL).

6

kube-bench output is verbose. Practice grepping for [FAIL] and reading the remediation block - the exam will hand you a kube-bench report and ask you to fix specific findings (typically kubelet args in /var/lib/kubelet/config.yaml or kube-apiserver flags in /etc/kubernetes/manifests/kube-apiserver.yaml).

7

Audit-policy tasks are common. Memorize the Policy/v1 schema cold: rules with level (None/Metadata/Request/RequestResponse), resources block, namespaces, verbs. After editing the static pod manifest, kube-apiserver will restart automatically - watch crictl ps for the new container and tail audit log to verify.

8

Image-scanning tasks usually want you to find HIGH/CRITICAL CVEs in a deployed pod's image. trivy image --severity HIGH,CRITICAL <image>, then either patch the deployment to a known-good tag or delete the pod entirely. Read the question carefully - 'remove' is different from 'remediate'.

9

Killer.sh CKS simulator is bundled free (two attempts). It is markedly harder than the real exam - if you can hit ~65% on it untimed, the real exam is achievable. Use both attempts: first one to learn the gaps, second after a week of remediation.

10

Time budget: ~15-20 tasks in 120 minutes is ~6-8 minutes per task, but security tasks have wide variance. AppArmor/seccomp/Falco tasks routinely take 10+ minutes. Triage on first pass: do the small RBAC/NetworkPolicy/kubectl tasks first, flag the long ones, return after the easy points are banked.

Study Resources

Who It's Best Suited For

Platform-security and DevSecOps engineers

CKS is the credential that proves you can secure a Kubernetes platform end-to-end - admission policies, runtime detection, supply-chain controls. The natural specialization for security engineers working on container platforms.

Kubernetes administrators after CKA

If you already hold CKA and operate production clusters, CKS extends your range into the security half of the job - which is increasingly where the open requisitions live.

Compliance and audit-facing engineers

CIS-benchmark hardening, audit-policy design, encryption-at-rest, and supply-chain attestation are core CKS topics and core compliance asks (SOC 2, FedRAMP, PCI). The cert maps cleanly onto regulatory work.

Engineers pursuing the full Kubestronaut path

CKS is one of the five active Kubernetes-related CNCF certifications required for Kubestronaut status (CKA, CKAD, CKS, KCNA, KCSA - all simultaneously active). It is the hardest of the five and typically the last performance-based one earned.

Certification Path

Certified Kubernetes Security Specialist · Ace It