📖 Scenario: You are managing a Kubernetes cluster where a web application is running inside a pod. Sometimes the application crashes or behaves unexpectedly. To find out what is wrong, you need to check the logs of the pod.This project will guide you step-by-step to use kubectl logs command to fetch logs from a pod for debugging.
🎯 Goal: Learn how to use kubectl logs to view logs of a Kubernetes pod to help debug issues.
📋 What You'll Learn
Have access to a Kubernetes cluster with kubectl configured
Know the exact pod name to fetch logs from
Understand basic kubectl commands
💡 Why This Matters
🌍 Real World
Developers and operators use kubectl logs to check what is happening inside containers running in Kubernetes. Logs help find errors and understand application behavior.
💼 Career
Knowing how to use kubectl logs is essential for Kubernetes administrators, DevOps engineers, and developers working with containerized applications.
Progress0 / 4 steps
1
Identify the pod name
Create a variable called pod_name and set it to the exact pod name webapp-pod-12345.
Kubernetes
Hint
The pod name is a string. Use single quotes around it.
2
Set the container name
Create a variable called container_name and set it to the container name webapp-container inside the pod.
Kubernetes
Hint
The container name is also a string. Use single quotes.
3
Write the kubectl logs command
Create a variable called logs_command that stores the exact command string to get logs from the pod using kubectl logs with the pod name and container name variables. The command should be: kubectl logs webapp-pod-12345 -c webapp-container.
Kubernetes
Hint
Use an f-string to insert the variables into the command string.
4
Print the logs command
Write a print statement to display the logs_command variable.
Kubernetes
Hint
Use print(logs_command) to show the command.
Practice
(1/5)
1. What does the kubectl logs command do in Kubernetes?
easy
A. Deletes a pod from the cluster
B. Lists all pods running in the cluster
C. Creates a new pod with specified configuration
D. Shows the output logs of a container inside a pod
Solution
Step 1: Understand the purpose of kubectl logs
This command is used to view the logs generated by containers running inside pods in Kubernetes.
Step 2: Differentiate from other commands
Deleting pods uses kubectl delete, creating pods uses kubectl create, and listing pods uses kubectl get pods. None of these show logs.
Final Answer:
Shows the output logs of a container inside a pod -> Option D
Quick Check:
Logs = Output from container [OK]
Hint: Logs show container output, not pod creation or deletion [OK]
Common Mistakes:
Confusing logs with pod creation or deletion
Thinking logs list pods instead of showing output
Assuming logs show cluster-wide events
2. Which of the following is the correct syntax to follow logs live from a pod named webapp-123?
easy
A. kubectl logs webapp-123 --follow
B. kubectl logs --tail webapp-123
C. kubectl logs webapp-123 -t
D. kubectl logs -t webapp-123
Solution
Step 1: Recall correct flag placement
The --follow flag comes after the pod name in the kubectl logs command syntax.
Step 2: Check distractor flags
Distractors use --tail (shows last lines, no streaming) or -t (timestamps, no follow). Only --follow streams live.
Final Answer:
kubectl logs webapp-123 --follow -> Option A
Quick Check:
Pod name first, then flags [OK]
Hint: Put pod name before flags like --follow [OK]
Common Mistakes:
Placing flags before pod name
Using --tail or -t instead of --follow
Mixing order of arguments
3. Given the command kubectl logs mypod --tail=5, what will be the output?
medium
A. Shows all logs except the last 5 lines from the pod named mypod
B. Shows the first 5 lines of logs from the pod named mypod
C. Shows the last 5 lines of logs from the pod named mypod
D. Shows logs only if the pod has more than 5 containers
Solution
Step 1: Understand the --tail option
The --tail=5 option limits the output to the last 5 lines of the logs.
Step 2: Confirm it applies to the specified pod
The command targets the pod named mypod, so logs shown are from that pod only.
Final Answer:
Shows the last 5 lines of logs from the pod named mypod -> Option C
Quick Check:
--tail = last lines [OK]
Hint: --tail shows last lines, not first [OK]
Common Mistakes:
Thinking --tail shows first lines
Confusing pod logs with container logs
Assuming it filters by container count
4. You run kubectl logs mypod -c mycontainer but get an error saying container not found. What is the likely cause?
medium
A. The pod mypod is not running
B. The container name mycontainer does not exist in pod mypod
C. You forgot to add the --follow flag
D. The pod mypod has multiple containers but you did not specify one
Solution
Step 1: Analyze the error message
The error says container not found, which means the container name given is incorrect or missing in the pod.
Step 2: Check command correctness
You specified -c mycontainer, so if the container name is wrong, the error appears. Pod running state or missing --follow flag does not cause this error.
Final Answer:
The container name mycontainer does not exist in pod mypod -> Option B
Quick Check:
Container name must match exactly [OK]
Hint: Check container name spelling matches pod's containers [OK]
Common Mistakes:
Assuming pod state causes container not found error
Forgetting to specify container when multiple exist
Using wrong flag for container name
5. You want to debug a pod with two containers named frontend and backend. Which command correctly streams live logs from the backend container only?
hard
A. kubectl logs podname -c backend --follow
B. kubectl logs podname --tail -c backend
C. kubectl logs -c backend podname --tail
D. kubectl logs --tail podname -c backend
Solution
Step 1: Recall correct argument order
The pod name must come immediately after kubectl logs, followed by flags like -c and --follow.
Step 2: Confirm container and follow flag usage
Using -c backend specifies the backend container, and --follow streams logs live.
Final Answer:
kubectl logs podname -c backend --follow -> Option A
Quick Check:
Pod name first, then container and flags [OK]
Hint: Pod name first, then container (-c) and --follow [OK]
Common Mistakes:
Placing flags before pod name
Mixing order of container and follow flags
Using unsupported shorthand flags
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.