Bird
Raised Fist0
Kubernetesdevops~5 mins

Deleting Pods in Kubernetes - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes a pod in Kubernetes stops working or you want to remove it to free resources. Deleting a pod removes it from the cluster so Kubernetes can clean up or restart it if needed.
When a pod is stuck in a bad state and not responding.
When you want to remove a test pod after finishing experiments.
When you want to force Kubernetes to restart a pod with fresh settings.
When cleaning up unused pods to save cluster resources.
When you want to delete a pod before updating its configuration.
Commands
This command lists all pods in the current namespace so you can see their names and status before deleting.
Terminal
kubectl get pods
Expected OutputExpected
NAME READY STATUS RESTARTS AGE example-pod 1/1 Running 0 10m my-pod 1/1 Running 0 5m
This command deletes the pod named 'example-pod' from the cluster, freeing resources and stopping its processes.
Terminal
kubectl delete pod example-pod
Expected OutputExpected
pod "example-pod" deleted
Run this again to confirm that the pod 'example-pod' is no longer listed, showing it was successfully deleted.
Terminal
kubectl get pods
Expected OutputExpected
NAME READY STATUS RESTARTS AGE my-pod 1/1 Running 0 6m
Key Concept

If you remember nothing else from this pattern, remember: deleting a pod removes it immediately from the cluster and Kubernetes will not restart it unless managed by a controller.

Common Mistakes
Trying to delete a pod that is managed by a Deployment or ReplicaSet directly.
Kubernetes controllers will recreate the pod automatically, so deletion seems ineffective.
Delete or update the Deployment or ReplicaSet managing the pod instead to control pod lifecycle.
Deleting pods without checking their names first.
You might delete the wrong pod and disrupt running applications.
Always run 'kubectl get pods' to verify pod names before deleting.
Summary
Use 'kubectl get pods' to list pods and find the pod name you want to delete.
Use 'kubectl delete pod pod-name' to remove the pod from the cluster.
Verify deletion by listing pods again to ensure the pod is gone.

Practice

(1/5)
1. What is the basic command to delete a pod named my-pod in Kubernetes?
easy
A. kubectl delete pod my-pod
B. kubectl remove pod my-pod
C. kubectl kill pod my-pod
D. kubectl stop pod my-pod

Solution

  1. Step 1: Understand the kubectl delete command

    The command kubectl delete is used to remove Kubernetes resources like pods.
  2. Step 2: Apply the command to a pod named my-pod

    Using kubectl delete pod my-pod deletes the pod named my-pod.
  3. Final Answer:

    kubectl delete pod my-pod -> Option A
  4. Quick Check:

    Delete pod command = kubectl delete pod POD_NAME [OK]
Hint: Use 'kubectl delete pod POD_NAME' to remove pods fast [OK]
Common Mistakes:
  • Using 'remove' instead of 'delete'
  • Trying 'kill' or 'stop' which are invalid kubectl commands
  • Omitting the resource type 'pod'
2. Which of the following is the correct syntax to delete all pods with the label app=frontend?
easy
A. kubectl delete pods --label app=frontend
B. kubectl delete pod --label app=frontend
C. kubectl delete pod -l app=frontend
D. kubectl remove pod -l app=frontend

Solution

  1. Step 1: Use the correct resource type and label flag

    The resource type for pods is pod (singular) and the label selector flag is -l.
  2. Step 2: Form the correct command

    The correct command is kubectl delete pod -l app=frontend to delete pods matching the label.
  3. Final Answer:

    kubectl delete pod -l app=frontend -> Option C
  4. Quick Check:

    Delete pods by label = kubectl delete pod -l LABEL [OK]
Hint: Use '-l' flag with 'kubectl delete pod' to delete by label [OK]
Common Mistakes:
  • Using plural 'pods' instead of 'pod'
  • Using '--label' instead of '-l'
  • Using 'remove' instead of 'delete'
3. What will be the output after running the command kubectl delete pod my-pod if the pod my-pod exists?
medium
A. Error: pod my-pod not found
B. pod/my-pod deleted
C. pod my-pod stopped
D. pod my-pod removed

Solution

  1. Step 1: Understand kubectl delete output

    When a pod is successfully deleted, kubectl outputs pod/POD_NAME deleted.
  2. Step 2: Apply to pod named my-pod

    Since the pod exists, the output will be pod/my-pod deleted.
  3. Final Answer:

    pod/my-pod deleted -> Option B
  4. Quick Check:

    Successful delete output = pod/POD_NAME deleted [OK]
Hint: Successful delete shows 'pod/POD_NAME deleted' message [OK]
Common Mistakes:
  • Expecting 'stopped' or 'removed' instead of 'deleted'
  • Confusing error message with success output
  • Missing the resource type prefix 'pod/'
4. You run kubectl delete pod my-pod but get an error: error: resource(s) not found. What is the most likely cause?
medium
A. The pod name is misspelled or does not exist
B. You need to use 'kubectl stop pod' instead
C. The pod is already deleted but command still runs
D. You forgot to add the namespace flag

Solution

  1. Step 1: Interpret the error message

    The error resource(s) not found means Kubernetes cannot find the pod with that name.
  2. Step 2: Identify common causes

    This usually happens if the pod name is wrong or the pod does not exist in the current namespace.
  3. Final Answer:

    The pod name is misspelled or does not exist -> Option A
  4. Quick Check:

    Resource not found = wrong pod name or missing pod [OK]
Hint: Check pod name spelling if 'resource not found' error appears [OK]
Common Mistakes:
  • Using 'stop' instead of 'delete' command
  • Assuming pod is deleted but error still shows
  • Ignoring namespace context when pod is in another namespace
5. You want to delete all pods in the namespace dev with label tier=backend. Which command correctly does this?
hard
A. kubectl delete pod -n dev --label tier=backend
B. kubectl delete pods --namespace=dev --label tier=backend
C. kubectl delete pod --namespace dev --selector tier backend
D. kubectl delete pod -n dev --selector tier=backend

Solution

  1. Step 1: Use correct flags for namespace and label selector

    The short flag for namespace is -n and for label selector is --selector or -l.
  2. Step 2: Form the correct command

    The correct command is kubectl delete pod -n dev --selector tier=backend.
  3. Step 3: Check other options for errors

    A uses invalid --label flag. B uses plural pods and invalid --label. C has invalid selector syntax --selector tier backend missing =.
  4. Final Answer:

    kubectl delete pod -n dev --selector tier=backend -> Option D
  5. Quick Check:

    Namespace and label selector flags combined correctly = kubectl delete pod -n dev --selector tier=backend [OK]
Hint: Use '-n' for namespace and '--selector' for labels to delete pods [OK]
Common Mistakes:
  • Using plural 'pods' instead of 'pod'
  • Wrong flag syntax like '--label' or missing '='
  • Mixing long and short flags incorrectly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard