Когда я запускаю команду kubectl get pods | grep "apisix"
, я получаю следующие данные
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
Есть ли способ удалить все модули, содержащие слово apisix
, вместо того, чтобы упоминать каждое имя модуля в команде удаления kubectl?
Вы можете запустить простую команду:
kubectl delete pod $(kubectl get pod | grep apisix | awk '{print $1}')
Обычный способ выбрать (а затем, возможно, удалить) набор модулей — использовать ярлыки selector
.
Например, предположим, что существует правильная метка app
со значением apisix
:
# 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