📖 Scenario: You are managing a Kubernetes cluster. Sometimes, you need to remove resources like pods or services that are no longer needed to keep the cluster clean and efficient.
🎯 Goal: Learn how to use the kubectl delete command to remove Kubernetes resources safely and correctly.
📋 What You'll Learn
Use kubectl delete command to remove resources
Specify the resource type and name exactly
Verify resource removal by listing resources
💡 Why This Matters
🌍 Real World
In real Kubernetes clusters, removing unused or faulty resources helps keep the system clean and efficient.
💼 Career
Knowing how to safely delete resources with kubectl is essential for cluster maintenance and troubleshooting in DevOps roles.
Progress0 / 4 steps
1
Create a pod named test-pod
Create a pod named test-pod using the following command exactly: kubectl run test-pod --image=nginx --restart=Never
Kubernetes
Hint
Use kubectl run with the pod name test-pod, image nginx, and --restart=Never to create a pod.
2
Check that the pod test-pod is running
Use the command kubectl get pods to list pods and confirm that test-pod is present.
Kubernetes
Hint
Use kubectl get pods to see all pods in the current namespace.
3
Delete the pod named test-pod
Use kubectl delete pod test-pod to remove the pod named test-pod from the cluster.
Kubernetes
Hint
Use kubectl delete pod test-pod to remove the pod.
4
Verify the pod test-pod is deleted
Run kubectl get pods again to confirm that test-pod no longer appears in the list.
Kubernetes
Hint
After deletion, kubectl get pods should show no pods if test-pod was the only one.
Practice
(1/5)
1. What does the command kubectl delete pod my-pod do in Kubernetes?
easy
A. It removes the pod named 'my-pod' from the cluster.
B. It creates a new pod named 'my-pod'.
C. It lists all pods including 'my-pod'.
D. It updates the pod named 'my-pod'.
Solution
Step 1: Understand the command action
The command kubectl delete is used to remove resources from the cluster.
Step 2: Identify the resource and name
Here, the resource is a pod and the name is 'my-pod', so it deletes that specific pod.
Final Answer:
It removes the pod named 'my-pod' from the cluster. -> Option A
Quick Check:
kubectl delete pod my-pod = Remove pod [OK]
Hint: kubectl delete + resource + name removes that resource [OK]
Common Mistakes:
Confusing delete with create or update commands
Deleting without specifying resource name
Using delete to list resources
2. Which of the following is the correct syntax to delete a deployment named web-app?
easy
A. kubectl destroy deployment web-app
B. kubectl remove deployment web-app
C. kubectl delete web-app deployment
D. kubectl delete deployment web-app
Solution
Step 1: Recall kubectl delete syntax
The correct syntax is kubectl delete <resource> <name>.
Step 2: Match the resource and name order
kubectl delete deployment web-app follows this order correctly: deployment web-app.
Final Answer:
kubectl delete deployment web-app -> Option D
Quick Check:
kubectl delete + resource + name = correct syntax [OK]
Hint: Always use 'kubectl delete resource name' syntax [OK]
Common Mistakes:
Using wrong verbs like remove or destroy
Swapping resource and name order
Omitting resource type
3. What will be the output of the command kubectl delete service my-service if the service my-service exists?
medium
A. Error: service "my-service" not found
B. service "my-service" deleted
C. service "my-service" created
D. No resources found
Solution
Step 1: Understand delete command output
When a resource is successfully deleted, kubectl confirms with a message like resource "name" deleted.
Step 2: Match output to existing resource
Since my-service exists, the output confirms deletion.
4. You run kubectl delete pod my-pod but get the error: error: resource(s) not found. What is the most likely cause?
medium
A. The pod 'my-pod' does not exist in the current namespace.
B. The pod 'my-pod' is already deleted but still shows in the list.
C. You used the wrong command; delete cannot remove pods.
D. The cluster is down and cannot process commands.
Solution
Step 1: Analyze the error message
The error says resource not found, meaning the pod name is not found in the current namespace.
Step 2: Check common causes
Most often, this happens because the pod does not exist or you are in the wrong namespace.
Final Answer:
The pod 'my-pod' does not exist in the current namespace. -> Option A
Quick Check:
Resource not found = pod missing or wrong namespace [OK]
Hint: Check namespace and pod name if resource not found error [OK]
Common Mistakes:
Assuming delete cannot remove pods
Ignoring namespace context
Thinking cluster downtime causes this error
5. You want to delete all pods with the label app=frontend. Which command correctly deletes only those pods?
hard
A. kubectl delete -l app=frontend
B. kubectl delete pods --all
C. kubectl delete pods --selector app=frontend
D. kubectl delete pods app=frontend
Solution
Step 1: Understand label selector syntax
To delete pods by label, use the --selector or -l flag with the label key=value.
Step 2: Identify correct command
kubectl delete pods --selector app=frontend uses --selector app=frontend, which is the correct full flag. kubectl delete -l app=frontend uses -l but misses the resource type pods.
Step 3: Confirm other options
kubectl delete pods --all deletes all pods, not filtered. kubectl delete pods app=frontend is invalid syntax.
Final Answer:
kubectl delete pods --selector app=frontend -> Option C
Quick Check:
Use --selector or -l to filter pods by label [OK]
Hint: Use --selector or -l flag to delete by label [OK]
Common Mistakes:
Using --all deletes everything, not filtered
Incorrect syntax without --selector or -l
Confusing label with resource name
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.