kubectl delete -A --all
Is very slow, because under the hood it runs 1 delete at a time. (easy to see with -v 8
)
A much faster way is to talk to the api directly:
kubectl delete --raw /api/v1/namespaces/foo/pods
That also works with label selectors, for example foo=bar would be:
/api/v1/
namespaces/foo/
pods?labelSelector=foo%3Dbar
… and deleting everything in foo
namespace would be:
/api/v1/pods/namespaces/foo
It does not work without a namespace,
so to delete everything with a given label we have to fetch first and then iterate all namespaces.