Courseiva
Application Deployment →hardMultiple Choice

CKAD Application Deployment Practice Question

Your Deployment is stuck during rollout, and you want to investigate. Which command pauses the rollout and allows you to check the current state?

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

✓

kubectl rollout pause deployment my-deployment

The correct command to pause a deployment rollout is `kubectl rollout pause deployment my-deployment`. While paused, you can inspect the current state with `kubectl rollout status` or other diagnostic commands. Option A (`kubectl rollout resume`) resumes a paused rollout, not pauses it. Option B (`kubectl rollout status`) shows the rollout state but does not pause it. Option D (`kubectl rollout stop`) is not a valid kubectl command; the correct command to stop a rollout is `kubectl rollout undo`. Therefore, only option C pauses the rollout as required.

Answer analysis

Option-by-option breakdown

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

  • ✗

    kubectl rollout resume deployment my-deployment

    Why it's wrong here

    kubectl rollout resume is intended to continue a deployment that was explicitly paused with kubectl rollout pause. It does not stop or freeze a stuck rollout; instead it tells the controller to proceed with the current ReplicaSet scaling process, which can make a bad rollout worse. Since the goal is to halt progress and investigate, this command acts in the opposite direction and is therefore incorrect.

  • ✗

    kubectl rollout status deployment my-deployment

    Why it's wrong here

    kubectl rollout status only queries and reports the current rollout state, such as waiting for ReplicaSet availability or the progress deadline being exceeded. It passively observes the deployment but does not alter its desired state or prevent the controller from continuing to scale ReplicaSets. While useful for diagnosis after pausing, it cannot stop or isolate the stuck rollout, so it is not the correct command here.

  • ✓

    kubectl rollout pause deployment my-deployment

    Why this is correct

    kubectl rollout pause is the correct command because it sets the deployment's spec.paused field to true, instructing the deployment controller to stop creating or scaling new ReplicaSets. This freezes the rollout's current state and gives you a stable point to inspect logs, events, and resource metrics without the controller racing ahead. It directly addresses the need to investigate a stuck rollout.

  • ✗

    kubectl rollout stop deployment my-deployment

    Why it's wrong here

    kubectl rollout stop is not a valid kubectl rollout subcommand; the valid subcommands are history, pause, restart, resume, status, and undo. Running this command would fail with a usage error before any action is taken. To pause the rollout, you must use the exact, supported command kubectl rollout pause.

About these practice questions

This CKAD question is part of Courseiva's 826-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. 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 CKAD 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 CKAD exam.