Questions & answers (free, no sign-in needed)
- View
10 beginner questions on the CKS curriculum domains: Cluster Setup, Cluster Hardening, System Hardening, Minimize Microservice Vulnerabilities, Supply Chain Security, and Monitoring, Logging and Runtime Security. They cover network policies, RBAC, service account tokens, seccomp, Pod Security Standards, Secrets, image digests, admission control and audit logs. The real exam is hands-on; these questions check the concepts behind its tasks.
Ready to test yourself? Take the graded Beginner test (free; sign in with Google, one click) to get your score.
A team wants pods in the
paymentsnamespace to accept incoming traffic only from pods labelledapp=frontend. Which Kubernetes object should they create?- A. A ResourceQuota for the
paymentsnamespace - B. A NetworkPolicy allowing ingress from
app=frontend✔ correct - C. A PodDisruptionBudget for the payments pods
- D. A LimitRange with default CPU and memory limits
Answer: B. A NetworkPolicy selects pods and lists the allowed ingress sources, here pods labelled
app=frontend. Once a pod is selected by an ingress policy, other inbound traffic is denied. Quotas, limit ranges and disruption budgets do not filter traffic.Source: kubernetes.io/docs/concepts/services-networking/network-policies/ · Domain: Cluster Setup
- A. A ResourceQuota for the
Creating a NetworkPolicy object has no effect unless the cluster's network plugin implements network policies.
- A. True ✔ correct
- B. False
Answer: A. True. Network policies are enforced by the network plugin (CNI). If the plugin does not support them, the API server still accepts the object, but no traffic is filtered.
Source: kubernetes.io/docs/concepts/services-networking/network-policies/ · Domain: Cluster Setup
An administrator must give a monitoring service account read-only access to Pods in the
shopnamespace and nowhere else. Which setup follows least privilege?- A. A ClusterRole with
get,list,watchon pods, bound by a ClusterRoleBinding - B. The
cluster-adminClusterRole, bound by a RoleBinding inshop - C. A Role in
shopwithget,list,watchon pods, bound by a RoleBinding ✔ correct - D. A Role in
shopwithcreateanddeleteon pods, bound by a RoleBinding
Answer: C. A Role with a RoleBinding grants permissions inside one namespace only, and the verbs
get,listandwatchallow reading without changes. A ClusterRoleBinding grants access in every namespace, andcluster-admingrants far too much.Source: kubernetes.io/docs/reference/access-authn-authz/rbac/ · Domain: Cluster Hardening
- A. A ClusterRole with
A web application pod never calls the Kubernetes API. How can an engineer stop the pod from receiving a service account API token that it does not need?
- A. Set
automountServiceAccountToken: falsein the pod spec ✔ correct - B. Set
hostNetwork: truein the pod spec - C. Run the pod in the
kube-systemnamespace - D. Set
imagePullPolicy: Alwayson the container
Answer: A. Setting
automountServiceAccountToken: falseon the pod (or on its service account) opts out of mounting API credentials, so a compromised container has no token to reuse. The other settings do not control token mounting.Source: kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ · Domain: Cluster Hardening
- A. Set
Which
securityContextsetting applies the container runtime's default seccomp profile to restrict the system calls a container can make?- A.
seccompProfile: {type: Unconfined} - B.
privileged: true - C.
allowPrivilegeEscalation: true - D.
seccompProfile: {type: RuntimeDefault}✔ correct
Answer: D.
RuntimeDefaultapplies the runtime's default seccomp profile, which blocks many risky system calls.Unconfinedturns seccomp off, and the privileged and privilege-escalation settings weaken isolation instead of hardening it.Source: kubernetes.io/docs/tutorials/security/seccomp/ · Domain: System Hardening
- A.
A platform team is hardening workloads to follow the Pod Security Standards Restricted profile. Which two settings are consistent with that profile? (Select TWO)
- A.
runAsNonRoot: true✔ correct - B.
privileged: true - C.
allowPrivilegeEscalation: false✔ correct - D.
hostNetwork: true - E.
capabilities: {add: ["SYS_ADMIN"]}
Answer: A, C. The Restricted profile requires containers to run as non-root and to set
allowPrivilegeEscalation: false. Privileged containers, host networking and adding capabilities such asSYS_ADMINare not allowed.Source: kubernetes.io/docs/concepts/security/pod-security-standards/ · Domain: Minimize Microservice Vulnerabilities
- A.
A security engineer asks how Kubernetes Secret values are protected in etcd on a cluster that still uses the default API server settings. What is the correct answer?
- A. They are encrypted with a key created when the cluster is installed
- B. They are stored unencrypted unless encryption at rest is enabled ✔ correct
- C. They are hashed, so nobody can read the original value back
- D. They are kept in kubelet memory and never written to etcd
Answer: B. By default, Secrets are stored unencrypted in etcd; base64 is only an encoding. Enable encryption at rest, restrict access to etcd and use RBAC to limit who can read Secrets.
Source: kubernetes.io/docs/concepts/configuration/secret/ · Domain: Minimize Microservice Vulnerabilities
To be sure that a pod always runs exactly the same image content, even if someone later pushes a new image under the same tag, how should the image be referenced?
- A. By its digest (
app@sha256:...) ✔ correct - B. By the
latesttag - C. With
imagePullPolicy: Always - D. By a version tag such as
app:1.4
Answer: A. A digest identifies one exact image content, so the pod always gets the same image. Tags, including version tags and
latest, can be moved to another image;Alwaysonly forces a fresh pull of whatever the tag points to.Source: kubernetes.io/docs/concepts/containers/images/ · Domain: Supply Chain Security
- A. By its digest (
A company wants the API server to reject any new pod whose image does not come from its own approved registry. Which mechanism enforces this when the pod is created?
- A. A RuntimeClass that selects a sandboxed runtime
- B. A validating admission policy or admission webhook ✔ correct
- C. A PriorityClass for workloads from the approved registry
- D. A LimitRange that applies to every namespace
Answer: B. Admission control can reject API requests before objects are stored. A ValidatingAdmissionPolicy (or a validating webhook) can check each pod's image against the permitted registries. RuntimeClass, PriorityClass and LimitRange do not validate image sources.
Source: kubernetes.io/docs/reference/access-authn-authz/validating-admission-policy/ · Domain: Supply Chain Security
An administrator needs to find out which user deleted a Deployment yesterday. Which source records who sent each request to the API server?
- A. The container logs of the Deployment's pods
- B. The metrics collected by metrics-server
- C. The Kubernetes audit log ✔ correct
- D. The node's kubelet configuration file
Answer: C. Kubernetes auditing records a chronological set of API server requests, including the user, the action and the resource, as defined by the audit policy. Pod logs and metrics do not show who changed cluster objects.
Source: kubernetes.io/docs/tasks/debug/debug-cluster/audit/ · Domain: Monitoring, Logging and Runtime Security
Original practice questions written by xOps School (DevOpsSchool Private Limited) from the public CNCF / Linux Foundation exam objectives (CNCF CKS curriculum v1.34 (github.com/cncf/curriculum); LF page: exam based on Kubernetes v1.35), checked 2026-10-25. They are not actual exam questions. xOps School is not affiliated with or endorsed by CNCF / Linux Foundation; exam names are trademarks of their owners. Official exam page: training.linuxfoundation.org/certification/certified-kubernetes-securi.