Bird
Raised Fist0
Kubernetesdevops~5 mins

kubectl delete for removal in Kubernetes - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes you need to remove resources like pods or deployments from your Kubernetes cluster to free up space or stop unwanted services. The kubectl delete command helps you safely remove these resources.
When you want to stop a running application by deleting its pod.
When you need to remove a deployment that is no longer needed.
When cleaning up test resources after experimenting with Kubernetes objects.
When you want to delete a service that is no longer exposing your app.
When you want to delete a namespace and all resources inside it.
Commands
This command deletes the pod named 'my-pod' from the cluster, stopping the running container inside it.
Terminal
kubectl delete pod my-pod
Expected OutputExpected
pod "my-pod" deleted
This command lists all pods to verify that 'my-pod' has been removed.
Terminal
kubectl get pods
Expected OutputExpected
No resources found in default namespace.
This command deletes the deployment named 'example-deployment', which also removes all pods managed by it.
Terminal
kubectl delete deployment example-deployment
Expected OutputExpected
deployment.apps "example-deployment" deleted
This command lists all deployments to confirm that 'example-deployment' has been deleted.
Terminal
kubectl get deployments
Expected OutputExpected
No resources found in default namespace.
Key Concept

If you remember nothing else from this pattern, remember: kubectl delete removes the specified Kubernetes resource immediately from your cluster.

Common Mistakes
Trying to delete a resource that does not exist.
kubectl will return an error because it cannot find the resource to delete.
Use kubectl get to check the exact resource name before deleting.
Deleting a deployment but expecting pods to remain running.
Deleting a deployment also deletes all pods it manages, so the app stops running.
If you want to stop pods without deleting the deployment, scale the deployment to zero replicas instead.
Not specifying the resource type when deleting.
kubectl delete needs the resource type (pod, deployment, service) to know what to remove.
Always specify the resource type before the resource name, like 'kubectl delete pod my-pod'.
Summary
Use 'kubectl delete' with the resource type and name to remove Kubernetes objects.
Verify deletion by listing resources with 'kubectl get'.
Deleting a deployment removes all pods it manages immediately.

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

  1. Step 1: Understand the command action

    The command kubectl delete is used to remove resources from the cluster.
  2. 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.
  3. Final Answer:

    It removes the pod named 'my-pod' from the cluster. -> Option A
  4. 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

  1. Step 1: Recall kubectl delete syntax

    The correct syntax is kubectl delete <resource> <name>.
  2. Step 2: Match the resource and name order

    kubectl delete deployment web-app follows this order correctly: deployment web-app.
  3. Final Answer:

    kubectl delete deployment web-app -> Option D
  4. 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

  1. Step 1: Understand delete command output

    When a resource is successfully deleted, kubectl confirms with a message like resource "name" deleted.
  2. Step 2: Match output to existing resource

    Since my-service exists, the output confirms deletion.
  3. Final Answer:

    service "my-service" deleted -> Option B
  4. Quick Check:

    Deleting existing resource shows 'deleted' message [OK]
Hint: Successful delete shows 'resource "name" deleted' message [OK]
Common Mistakes:
  • Expecting creation message on delete
  • Confusing 'not found' error when resource exists
  • Ignoring confirmation output
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

  1. Step 1: Analyze the error message

    The error says resource not found, meaning the pod name is not found in the current namespace.
  2. Step 2: Check common causes

    Most often, this happens because the pod does not exist or you are in the wrong namespace.
  3. Final Answer:

    The pod 'my-pod' does not exist in the current namespace. -> Option A
  4. 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

  1. Step 1: Understand label selector syntax

    To delete pods by label, use the --selector or -l flag with the label key=value.
  2. 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.
  3. Step 3: Confirm other options

    kubectl delete pods --all deletes all pods, not filtered. kubectl delete pods app=frontend is invalid syntax.
  4. Final Answer:

    kubectl delete pods --selector app=frontend -> Option C
  5. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard