CKAD Application Design and Build Practice Question
Which of the following is the correct way to create a simple Pod named 'nginx' running the nginx:1.25 image using kubectl?
⚠ Common exam trap
A common mix-up: candidates confuse `kubectl run` (which creates a Pod or Deployment) with `kubectl create` (which requires a resource type and is often used with files), leading them to incorrectly assume `kubectl create pod` is valid syntax.
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 run nginx --image=nginx:1.25
`kubectl run nginx --image=nginx:1.25` is the imperative command to create a Pod directly without a Deployment. The `run` subcommand is specifically designed to create a Pod (or other resources like Deployments) from an image, and when no resource type is specified, it defaults to creating a Pod. This is the standard CKAD approach for quickly launching a standalone Pod.
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 create nginx --image=nginx:1.25
Why it's wrong here
The 'kubectl create' command is not a generic command that infers a resource type from an --image flag; it requires an explicit resource type (e.g., deployment, configmap) or a file containing a resource manifest. Since no resource type is specified, kubectl does not know what object to create, and this invocation is syntactically invalid.
- ✗
kubectl create pod nginx --image=nginx:1.25
Why it's wrong here
While 'kubectl create' is a valid command, 'pod' is not one of its supported subcommands. The imperative way to create a standalone Pod directly is 'kubectl run', not 'kubectl create pod'. Attempting to use 'kubectl create pod' results in an error because the kubectl CLI has no 'pod' subcommand under 'create'.
- ✗
kubectl apply nginx --image=nginx:1.25
Why it's wrong here
The 'kubectl apply' command is designed for declarative configuration management: it applies changes to resources from a YAML/JSON file or stdin, typically supplied via the '-f' flag. It does not accept an '--image' flag directly, and without a file argument, 'kubectl apply' cannot function. This invocation is missing the required resource definition.
- ✓
kubectl run nginx --image=nginx:1.25
Why this is correct
The correct command is 'kubectl run nginx --image=nginx:1.25'. This is the standard imperative command for creating a single Pod: it generates a Pod object named 'nginx' with the specified container image and submits it to the cluster. 'kubectl run' is specifically designed for this purpose, whereas 'kubectl create' and 'kubectl apply' have different roles.
Go deeper
Related to this question
About these practice questions
One of 826 original CKAD 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 →
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.