How to delete all resources from Kubernetes one time?

后端 未结 3 1955
暗喜
暗喜 2020-12-23 16:10

Include:

  • Daemon Sets
  • Deployments
  • Jobs
  • Pods
  • Replica Sets
  • Replication Controllers
  • Stateful Sets
  • Se
3条回答
  •  Happy的楠姐
    2020-12-23 16:58

    Method 1: To delete everything from the current namespace (which is normally the default namespace) using kubectl delete:

    kubectl delete all --all
    

    all refers to all resource types such as pods, deployments, services, etc. --all is used to delete every object of that resource type instead of specifying it using its name or label.

    To delete everything from a certain namespace you use the -n flag:

    kubectl delete all --all -n {namespace}
    

    Method 2: You can also delete a namespace and re-create it. This will delete everything that belongs to it:

    kubectl delete namespace {namespace}
    kubectl create namespace {namespace}
    

    Note (thanks @Marcus): all in kubernetes does not refers to every kubernetes object, such as admin level resources (limits, quota, policy, authorization rules). If you really want to make sure to delete eveything, it's better to delete the namespace and re-create it. Another way to do that is to use kubectl api-resources to get all resource types, as seen here:

    kubectl delete "$(kubectl api-resources --namespaced=true --verbs=delete -o name | tr "\n" "," | sed -e 's/,$//')" --all
    

提交回复
热议问题