Home > Enterprise >  Delete pods using kubectl containing a substring
Delete pods using kubectl containing a substring

Time:11-17

When I run the command kubectl get pods | grep "apisix", I get the following data

apisix-dev-78549978b7-pvh2v                           1/1     Running             6 (4m19s ago)   8m14s
apisix-dev-dashboard-646df79bf-mwkpc                  1/1     Running             6 (4m35s ago)   8m12s
apisix-dev-etcd-0                                     1/1     Running             0               8m12s
apisix-dev-etcd-1                                     1/1     Running             0               8m11s
apisix-dev-etcd-2                                     0/1     CrashLoopBackOff    4 (24s ago)     8m11s
apisix-dev-ingress-controller-58f7887759-28cm9        1/1     Running             0               8m11s
apisix-dev-ingress-controller-6cc65c7cb5-k6dx2        0/1     Init:0/1            0               8m9s

Is there any way to delete all the pods containing the word apisix instead of mentioning every pod name in kubectl delete command?

CodePudding user response:

You can run a simple command:

kubectl delete pod $(kubectl get pod | grep apisix | awk '{print $1}')

CodePudding user response:

A common way to select (and then, maybe delete) a set of Pods is via selector labels.

For example, assuming that a proper label app with value apisix exists:

# Find which Pods are selected (just to be sure)
kubectl get pod --selector=app=apisix

# Delete them (probably with --dry-run=client, if still unsure about what is selected)
kubectl delete pod --selector=app=apisix
  • Related