Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Kubernetes: Delete all objects in the namespace
kubectl delete "$(kubectl api-resources --namespaced=true --verbs=delete -o name | tr "\n" "," | sed -e 's/,$//')" --all
#!/usr/bin/env bash
#
# kubectl-delete_all is a utility to delete all objects in the namespace.
[[ -n "$DEBUG" ]] && set -x
set -eou pipefail
exec kubectl delete "$(kubectl api-resources --namespaced=true --verbs=delete -o name | tr "\n" "," | sed -e 's/,$//')" --all "$@"
@superbrothers

This comment has been minimized.

Copy link
Owner Author

@superbrothers superbrothers commented Jan 17, 2019

You can install kubectl-delete_all plugin in the following steps:

$ wget https://gist.githubusercontent.com/superbrothers/b428cd021e002f355ffd6dd421b75f70/raw/36200fe7db03360c40b6c97c480d91688db7f2a4/kubectl-delete_all
$ chmod +x kubectl-delete_all
$ mkdir -p ~/bin
$ export PATH="$HOME/bin:$PATH"
$ mv kubectl-delete_all ~/bin
$ kubectl delete-all -n default
endpoints "kubernetes" deleted
secret "default-token-cx4p7" deleted
serviceaccount "default" deleted
service "kubernetes" deleted
@pranay-tibco

This comment has been minimized.

Copy link

@pranay-tibco pranay-tibco commented Sep 29, 2021

This is useful - but making it easy to copy and paste - this uses fake namespace just for testing
You can copy and paste below lines your shell to try it out

wget https://gist.githubusercontent.com/superbrothers/b428cd021e002f355ffd6dd421b75f70/raw/36200fe7db03360c40b6c97c480d91688db7f2a4/kubectl-delete_all
chmod +x kubectl-delete_all
mkdir ~/bin || { echo "This might fail - that's fine"; } 
export PATH="$HOME/bin:$PATH"
mv kubectl-delete_all ~/bin
kubectl delete-all -n fake
@superbrothers

This comment has been minimized.

Copy link
Owner Author

@superbrothers superbrothers commented Sep 30, 2021

@pranay-tibco Thanks for your comment. I've changed to use mkdir -p😊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment