📖 Scenario: You are managing a Kubernetes cluster and want to understand the lifecycle states of a Pod. Pods are the smallest deployable units in Kubernetes that run your containers. Knowing the Pod states helps you monitor and troubleshoot your applications effectively.
🎯 Goal: Learn how to create a Pod manifest, add a label selector, check the Pod's lifecycle state, and display the Pod status using kubectl.
📋 What You'll Learn
Create a Pod manifest YAML file named mypod.yaml with specific metadata and container details
Add a label app: demo to the Pod manifest
Use kubectl get pod with label selector to check the Pod's lifecycle state
Print the Pod's status phase to see its current lifecycle state
💡 Why This Matters
🌍 Real World
Kubernetes Pods run your application containers. Knowing their lifecycle states helps you monitor if your app is running, starting, or has errors.
💼 Career
DevOps engineers and site reliability engineers use Pod lifecycle states daily to ensure applications are healthy and troubleshoot issues quickly.
Progress0 / 4 steps
1
Create the initial Pod manifest
Create a YAML file named mypod.yaml with a Pod manifest that has apiVersion: v1, kind: Pod, metadata name mypod, and a single container named nginx using the image nginx:latest.
Kubernetes
Hint
Remember to include apiVersion, kind, metadata with name, and spec with containers list.
2
Add a label to the Pod manifest
Add a label app: demo under the metadata section in mypod.yaml to help identify the Pod.
Kubernetes
Hint
Labels go under metadata as a map with key and value.
3
Check Pod lifecycle state using label selector
Use the command kubectl get pod -l app=demo to list the Pod with label app=demo and observe its lifecycle state in the STATUS column.
Kubernetes
Hint
The -l flag filters Pods by label.
4
Display the Pod's current lifecycle state
Use the command kubectl get pod mypod -o jsonpath='{.status.phase}' to print the current lifecycle state of the Pod named mypod.
Kubernetes
Hint
The -o jsonpath= option extracts specific fields from the Pod JSON output.
Practice
(1/5)
1. Which of the following is a valid lifecycle state of a Kubernetes Pod?
easy
A. Uploading
B. Compiling
C. Downloading
D. Running
Solution
Step 1: Recall Pod lifecycle states
Kubernetes Pods have specific states like Pending, Running, Succeeded, Failed, and Unknown.
Step 2: Match options with valid states
Among the options, only "Running" is a valid Pod state.
Final Answer:
Running -> Option D
Quick Check:
Pod state "Running" = C [OK]
Hint: Remember common Pod states: Pending, Running, Succeeded, Failed [OK]
Common Mistakes:
Confusing Pod states with unrelated terms
Thinking 'Compiling' or 'Uploading' are Pod states
2. Which kubectl command shows the current state of all Pods in the default namespace?
easy
A. kubectl get pods
B. kubectl create pods
C. kubectl logs pods
D. kubectl describe pods
Solution
Step 1: Understand commands for Pod status
kubectl get pods lists Pods with their current states briefly.