KCNA Kubernetes Fundamentals Practice Question
Which THREE of the following are valid options for the 'kubectl get' command to display output in different formats?
⚠ Common exam trap
CNCF often tests the distinction between output format flags (`-o`) and separate subcommands (`describe`), trapping candidates who confuse `--describe` with `-o wide` or think `-o verbose` is a real format.
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
✓
-o wide
Option B (-o wide) is correct because the -o wide output format extends the default table with additional columns such as node name, IP addresses, and nominated node, which is a documented kubectl output format. Option C (-o json) is correct because kubectl supports -o json to serialize the resource as a JSON object, useful for scripting and parsing with tools like jq. Option D (-o yaml) is correct because -o yaml renders the resource as YAML, another officially supported output format for kubectl get. The unmarked options do not belong: -o verbose is not a valid output format (verbose logging is controlled by -v/--v), and --describe is not an output format but a separate kubectl subcommand (kubectl describe) that shows detailed human-readable information.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
-o verbose
Why it's wrong here
kubectl accepts -o wide, json, yaml, name, custom-columns and jsonpath, but not verbose. Verbosity is controlled by -v for log level, so -o verbose is rejected as an invalid output value and produces an error.
- ✓
-o wide
Why this is correct
The `-o wide` flag extends the default table with extra columns, such as node name and pod IP, satisfying the requirement to display output in a different format. It remains a tabular, human-readable view rather than structured data, but Kubernetes documents it as a distinct output format alongside `-o json` and `-o yaml`.
- ✓
-o json
Why this is correct
The `-o json` flag instructs kubectl to serialise the API server's response as JSON, satisfying the stem's requirement for an output-format option. Unlike default human-readable tables, it emits the full resource object, which is why it is valid alongside `-o yaml` and `-o wide` as a genuine formatting choice.
- ✓
-o yaml
Why this is correct
The `-o yaml` flag satisfies the stem's requirement for a valid output-format option by serialising the retrieved Kubernetes object into YAML, the same schema used in manifests. Unlike `-o wide`, which merely extends the default table with extra columns, it emits the complete resource definition, making it directly reusable in `kubectl apply`.
- ✗
--describe
Why it's wrong here
--describe is not an output-format flag; it is a separate kubectl subcommand that prints detailed resource state. Output formatting uses -o with values such as json, yaml, wide or jsonpath, so --describe fails the format requirement entirely.
Go deeper
Related to this question
About these practice questions
One of 930 original KCNA 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 KCNA 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 KCNA exam.