You will learn: the four parts of every Kubernetes order, and the one Kubernetes writes itself.
Checked with Kubernetes 1.37 on 31 Oct 2026
!The problem
You are here:clusterkind-devnamespacedefault
~/shop $kubectl apply -f tray.yamlpod/tray created~/shop $kubectl get podsNAME READY STATUS RESTARTS AGEtray 0/1 Pending 0 0s
kubectl apply -f tray.yaml creates pod/tray. One small file made a whole tray. Terminal output: $ kubectl apply -f tray.yaml
pod/tray created
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
tray 0/1 Pending 0 0s
One small file made this tray. What does each line tell Kubernetes?
✋Try it
This file is a manifest: An order slip written in YAML: what you want Kubernetes to make.: an order slip written in YAML. Tap its 4 top-level keys. They start at the left edge.
Tap the 4 top-level keys of tray.yaml.
0 of 4 found
Hint
Indented lines belong to the key above them.
✋Try it
Who writes each part? Sort them.
Drag a card into a box. Or tap the card, then tap the box.
◉Watch
You are here:clusterkind-devnamespacedefault
~/shop $kubectl get pod tray -o jsonpath={.status.phase}Running
Asking only for status.phase prints: Running. Terminal output: $ kubectl get pod tray -o jsonpath={.status.phase}
Running
spec is what you ordered. status: The part Kubernetes writes: what is really there now. is what Kubernetes sees right now. It is the See box on the manager’s board.
?Predict
You add replicas: 3 under this Pod’s spec. What happens?
Pick one answer.
✋Try it
This order is refused. Read the red line, then fix the file until kubectl apply turns green.
Fix the manifest, then press Apply.
📄 tray.yaml11 lines
1
2
3
4
5
6
7
8
9
10
11
Hint
Deployments use apps/v1. Pods use v1.
★You did it!
You can now read the four parts of any manifest.
Go deeper (optional)
See every field Kubernetes added. uid, creationTimestamp and the whole status come from the cluster. Don’t copy them back into your file.