Courseiva
Workloads and Scheduling →mediumMultiple Choice

CKA Workloads and Scheduling Practice Question

You need to implement a PriorityClass named 'high-priority' with value 1000 and mark it as non-preempting. Which YAML field should you set to true?

⚠ Common exam trap

CNCF often tests the distinction between `spec.value` (which sets priority) and `spec.preemptionPolicy` (which controls preemption behavior), leading candidates to mistakenly think that a high priority value alone implies preemption or that `spec.globalDefault` affects preemption.

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

✓

spec.preemptionPolicy: Never

Setting `spec.preemptionPolicy: Never` in a PriorityClass definition marks it as non-preempting, meaning pods with this priority will not preempt lower-priority pods even if they have a higher priority value. This field is the only one that controls preemption behavior for a PriorityClass.

Answer analysis

Option-by-option breakdown

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

  • ✓

    spec.preemptionPolicy: Never

    Why this is correct

    spec.preemptionPolicy: Never is the correct field because PriorityClass supports a preemptionPolicy that controls whether pods with this class may evict lower-priority pods. The Kubernetes default is PreemptLowerPriority, which allows preemption; setting it to Never explicitly disables that behavior, making the PriorityClass non-preempting. This is the only option that directly affects the scheduler's preemption logic.

  • ✗

    spec.description: "non-preempting"

    Why it's wrong here

    spec.description is purely informational metadata and has no functional impact on the scheduler or kubelet. The description string is never read by Kubernetes control plane components when making scheduling or preemption decisions. Therefore, adding "non-preempting" as a description simply labels the object but does not implement the required non-preemption behavior.

  • ✗

    spec.globalDefault: true

    Why it's wrong here

    spec.globalDefault: true makes this PriorityClass the default for all Pods that do not specify a priorityClassName. While this may cause more Pods to use the high-priority class, it does not control whether those Pods can preempt others. In fact, making it global default could unintentionally elevate many workloads to high priority, increasing preemption risk rather than preventing it.

  • ✗

    spec.value: 1000

    Why it's wrong here

    spec.value: 1000 sets a numeric priority score used for scheduling order and, by default, to decide which Pods may preempt lower-priority Pods. A higher value actually makes the Pod more likely to preempt others when preemptionPolicy is not set to Never. Thus, setting a high value alone does not make the PriorityClass non-preempting; it does the opposite unless combined with the correct preemptionPolicy.

About these practice questions

One of 726 original CKA practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This CKA 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 CKA exam.