1

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?

Mahesh
  • 1,117
  • 2
  • 23
  • 42

2 Answers2

2

You can run a simple command:

kubectl delete pod $(kubectl get pod | grep apisix | awk '{print $1}')
Prafull Ladha
  • 12,341
  • 2
  • 37
  • 58
0

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
Michail Alexakis
  • 1,405
  • 15
  • 14