📖 Scenario: You are managing a Kubernetes cluster and want to check detailed information about a specific pod to understand its status and configuration.
🎯 Goal: Learn how to use the kubectl describe command to get detailed information about a pod in Kubernetes.
📋 What You'll Learn
Use the kubectl command-line tool
Identify a pod by its exact name
Use kubectl describe pod <pod-name> to get details
💡 Why This Matters
🌍 Real World
Kubernetes administrators and developers often need to inspect pods to troubleshoot issues or verify configurations.
💼 Career
Knowing how to use <code>kubectl describe</code> is essential for roles like DevOps engineer, site reliability engineer, and cloud engineer.
Progress0 / 4 steps
1
Create a pod named myapp-pod
Create a pod named myapp-pod using the following YAML manifest content saved in a file called myapp-pod.yaml:
Use kubectl apply -f myapp-pod.yaml to create the pod from the YAML file.
2
Check the pod name with kubectl get pods
Run the command kubectl get pods to list all pods and confirm the pod named myapp-pod is running.
Kubernetes
Hint
This command shows all pods and their status.
3
Use kubectl describe pod myapp-pod to get detailed info
Run the command kubectl describe pod myapp-pod to see detailed information about the pod named myapp-pod.
Kubernetes
Hint
This command shows detailed info like labels, status, events, and container info.
4
Display the pod details output
Print the output of kubectl describe pod myapp-pod to see the pod's detailed status and configuration.
Kubernetes
Hint
The output includes pod name, container details, status, and events.
Practice
(1/5)
1. What does the kubectl describe command primarily show about a Kubernetes resource?
easy
A. Detailed information including status, events, and configuration of the resource
B. Only the YAML configuration of the resource
C. The logs generated by the resource
D. The list of all resources in the cluster
Solution
Step 1: Understand the purpose of kubectl describe
This command provides detailed information about a specific Kubernetes resource, including its current status, configuration details, and recent events.
Step 2: Compare with other kubectl commands
Unlike kubectl get which lists resources or kubectl logs which shows logs, kubectl describe gives a detailed snapshot of the resource's state and events.
Final Answer:
Detailed information including status, events, and configuration of the resource -> Option A
Quick Check:
kubectl describe = detailed resource info [OK]
Hint: Remember: describe = detailed info + events [OK]
Common Mistakes:
Confusing describe with get for YAML output
Expecting logs from describe command
Using describe without specifying resource name
2. Which of the following is the correct syntax to describe a pod named web-server in the default namespace?
easy
A. kubectl describe pod web-server -n default
B. kubectl describe pods web-server default
C. kubectl describe web-server pod -n default
D. kubectl describe pod web-server
Solution
Step 1: Identify correct resource type and name syntax
The command format is kubectl describe <resource-type> <resource-name>. For pods, resource type is pod (singular or plural works but singular is preferred).
Step 2: Specify namespace correctly
To specify the namespace, use the -n or --namespace flag after the resource name. The correct placement is kubectl describe pod web-server -n default.
Final Answer:
kubectl describe pod web-server -n default -> Option A
Quick Check:
Correct syntax = resource type + name + -n namespace [OK]
Hint: Use '-n' flag for namespace after resource name [OK]
Common Mistakes:
Placing namespace as a positional argument
Swapping resource name and type order
Omitting the namespace flag when needed
3. Given the command kubectl describe node worker-node-1, what key information would you expect to see in the output?
medium
A. List of all pods in the cluster
B. Pod logs running on worker-node-1
C. Detailed node status including capacity, conditions, and allocated resources
D. YAML configuration of the node
Solution
Step 1: Understand what describing a node shows
kubectl describe node shows detailed info about the node's status, including CPU and memory capacity, conditions like Ready or NotReady, and resource allocation.
Step 2: Differentiate from other outputs
It does not show pod logs (that's kubectl logs), nor does it list all pods or show YAML (that's kubectl get node -o yaml).
Final Answer:
Detailed node status including capacity, conditions, and allocated resources -> Option C
Quick Check:
Describe node = status + capacity + conditions [OK]
Hint: Describe node shows status and capacity, not logs [OK]
Common Mistakes:
Expecting pod logs from node describe
Confusing describe output with get -o yaml
Thinking it lists all pods in cluster
4. You run kubectl describe pod myapp-pod but get an error: Error from server (NotFound): pods "myapp-pod" not found. What is the most likely cause?
medium
A. You need to add --all-namespaces to describe pods
B. The kubectl describe command does not support pods
C. The Kubernetes cluster is down
D. The pod name is incorrect or does not exist in the current namespace
Solution
Step 1: Analyze the error message
The error says the pod "myapp-pod" was not found. This usually means the pod name is wrong or it does not exist in the current namespace.
Step 2: Check command and cluster status
kubectl describe supports pods, and the cluster being down would cause different errors. Also, --all-namespaces is not required but can help find pods in other namespaces.
Final Answer:
The pod name is incorrect or does not exist in the current namespace -> Option D
Quick Check:
NotFound error = wrong pod name or namespace [OK]
Hint: Check pod name and namespace if NotFound error appears [OK]
Common Mistakes:
Assuming describe doesn't support pods
Ignoring namespace context
Thinking cluster is down without checking
5. You want to check why a deployment named frontend is not creating pods as expected. Which kubectl describe command and output section will help you diagnose the issue?
hard
A. kubectl describe pod frontend; check the Status section for pod readiness
B. kubectl describe deployment frontend; check the Events section for errors
C. kubectl describe service frontend; check the Endpoints section
D. kubectl describe node frontend; check the Capacity section
Solution
Step 1: Identify the correct resource to describe
Since the issue is with a deployment named frontend, you should describe the deployment resource, not pods, services, or nodes.
Step 2: Locate the useful output section
The Events section in the deployment description shows recent errors or warnings related to pod creation or scaling issues, which helps diagnose why pods are not created.
Final Answer:
kubectl describe deployment frontend; check the Events section for errors -> Option B
Quick Check:
Describe deployment + Events = diagnose pod creation issues [OK]
Hint: Check deployment Events for pod creation errors [OK]
Common Mistakes:
Describing pod instead of deployment
Checking service or node instead of deployment
Ignoring Events section in output
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.