Question 111 of 997
Minimize Microservice VulnerabilitiesmediumMultiple SelectObjective-mapped

How to Enforce a Container Runs as Non-Root: runAsNonRoot, Kyverno, and More

This CKS practice question tests your understanding of minimize microservice vulnerabilities. Read the scenario carefully and evaluate each option against the stated constraints before committing to an answer. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.

Which TWO of the following are valid ways to enforce that a container runs as a non-root user?

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Set runAsNonRoot: true in the pod securityContext

Option B is correct because setting `runAsNonRoot: true` in the pod's `securityContext` explicitly instructs the kubelet to validate that the container's user ID is not 0 (root) before starting the container. If the container attempts to run as root, the kubelet will refuse to start it, providing a strong enforcement mechanism at the Kubernetes level.

Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Set the container image to use a root user

    Why it's wrong here

    This would run as root.

  • Set runAsNonRoot: true in the pod securityContext

    Why this is correct

    This enforces that the container cannot run as root.

    Related concept

    Read the scenario before looking for a memorised answer.

  • Use a PodSecurityPolicy (PSP)

    Why it's wrong here

    PSP is deprecated and removed in v1.25; not a valid current method.

  • Use a Kyverno policy to validate runAsNonRoot

    Why this is correct

    Kyverno can enforce policies for non-root.

    Related concept

    Read the scenario before looking for a memorised answer.

  • Set runAsUser: 0 in the container securityContext

    Why it's wrong here

    This runs as root (uid 0).

Common exam traps

Common exam trap: answer the scenario, not the keyword

The CKS exam often tests the misconception that PodSecurityPolicy (PSP) is still a valid option, but it has been removed since Kubernetes v1.25, so candidates must know that Kyverno or OPA/Gatekeeper policies are the modern replacements for enforcing non-root execution.

Detailed technical explanation

How to think about this question

Under the hood, `runAsNonRoot: true` leverages the container runtime's user namespace capabilities and the kubelet's admission control to check the container's configured user ID against the image's default user. If the image specifies a user with UID 0 or no user is set (defaulting to root), the kubelet will fail the pod creation with an event like 'container has runAsNonRoot and image will run as root'. This is critical in multi-tenant clusters where a compromised container could otherwise escape to the host.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.

TExam Day Tips

  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Key takeaway

Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Real-world example

How this comes up in practice

A practitioner preparing for the CKS exam encounters this exact type of scenario on the job. The correct answer here is not the most general option — it is the best answer for the specific constraint described. Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option. Real exam questions reward reading the full scenario before eliminating options, because the constraint defines which answer fits.

What to study next

Got this wrong? Here's your next step.

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Related practice questions

Related CKS practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Practice this exam

Start a free CKS practice session

Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.

FAQ

Questions learners often ask

What does this CKS question test?

Minimize Microservice Vulnerabilities — This question tests Minimize Microservice Vulnerabilities — Read the scenario before looking for a memorised answer..

What is the correct answer to this question?

The correct answer is: Set runAsNonRoot: true in the pod securityContext — Option B is correct because setting `runAsNonRoot: true` in the pod's `securityContext` explicitly instructs the kubelet to validate that the container's user ID is not 0 (root) before starting the container. If the container attempts to run as root, the kubelet will refuse to start it, providing a strong enforcement mechanism at the Kubernetes level.

What should I do if I get this CKS question wrong?

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

What is the key concept behind this question?

Read the scenario before looking for a memorised answer.

About these practice questions

Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

2 more ways this is tested on CKS

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. Which field must be set in a Pod's security context to prevent the container from running as the root user?

easy
  • A.runAsUser: 1000
  • B.readOnlyRootFilesystem: true
  • C.allowPrivilegeEscalation: false
  • D.runAsNonRoot: true

Why D: The `runAsNonRoot: true` field in a Pod's security context enforces that the container's entrypoint cannot run as UID 0 (root). If the container image attempts to run as root, the container runtime (e.g., containerd) will reject the container from starting, ensuring compliance with the principle of least privilege and mitigating root-based container escapes.

Variation 2. Which TWO of the following are valid Pod Security Context settings to harden a container? (Select 2)

medium
  • A.privileged: true
  • B.runAsUser: 0
  • C.runAsNonRoot: true
  • D.readOnlyRootFilesystem: true
  • E.allowPrivilegeEscalation: true

Why C: Option C is correct because setting `runAsNonRoot: true` in the Pod Security Context forces the container to run with a user ID (UID) other than 0 (root). This is a fundamental hardening measure that prevents an attacker who gains code execution inside the container from having root privileges, thereby limiting the blast radius of a compromise. It is a recommended practice in the CIS Benchmark for Kubernetes and directly addresses the principle of least privilege.

Keep practising

More CKS practice questions

Last reviewed: Jul 4, 2026

Question Discussion

Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.

Loading comments…

Sign in to join the discussion.

This CKS practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CKS exam.