kubernetes 按名称删除作业
kubernetes delete jobs by name
我在 windows 机器上的 powershell 提示符下。
我没有 Linux 命令,例如 grep
、awk
。
我有几份工作要删除
我找不到删除它们的正确语法,例如
kubectl delete job mailmigrationjob-id699*
或
kubectl delete job where name like mailmigrationjob-id699
尝试:
$Pattern="mailmigrationjob-id699"; & kubectl get job | % {"$_" -Split " "} | Select-String -Pattern $Pattern | %{ & kubectl delete job $_ }
取自:Delete all kubernetes pods by regex pattern with PowerShell
另一个选项:
> foreach($i in 1..10){kubectl create job mailmigrationjob-id699-$i --image=busybox -- echo "Hello World"}
job.batch/mailmigrationjob-id699-1 created
job.batch/mailmigrationjob-id699-2 created
job.batch/mailmigrationjob-id699-3 created
job.batch/mailmigrationjob-id699-4 created
job.batch/mailmigrationjob-id699-5 created
job.batch/mailmigrationjob-id699-6 created
job.batch/mailmigrationjob-id699-7 created
job.batch/mailmigrationjob-id699-8 created
job.batch/mailmigrationjob-id699-9 created
job.batch/mailmigrationjob-id699-10 created
> kubectl get jobs
NAME COMPLETIONS DURATION AGE
mailmigrationjob-id699-1 1/1 6s 9s
mailmigrationjob-id699-10 0/1 8s 8s
mailmigrationjob-id699-2 1/1 5s 9s
mailmigrationjob-id699-3 0/1 9s 9s
mailmigrationjob-id699-4 0/1 9s 9s
mailmigrationjob-id699-5 0/1 8s 8s
mailmigrationjob-id699-6 0/1 8s 8s
mailmigrationjob-id699-7 0/1 8s 8s
mailmigrationjob-id699-8 0/1 8s 8s
mailmigrationjob-id699-9 0/1 8s 8s
> $string="mailmigrationjob-id699"; $jobs=(kubectl get job -o NAME|Select-String $string); foreach ($job in $jobs){kubectl delete $job}
job.batch "mailmigrationjob-id699-1" deleted
job.batch "mailmigrationjob-id699-10" deleted
job.batch "mailmigrationjob-id699-2" deleted
job.batch "mailmigrationjob-id699-3" deleted
job.batch "mailmigrationjob-id699-4" deleted
job.batch "mailmigrationjob-id699-5" deleted
job.batch "mailmigrationjob-id699-6" deleted
job.batch "mailmigrationjob-id699-7" deleted
job.batch "mailmigrationjob-id699-8" deleted
job.batch "mailmigrationjob-id699-9" deleted
我在 windows 机器上的 powershell 提示符下。
我没有 Linux 命令,例如 grep
、awk
。
我有几份工作要删除
我找不到删除它们的正确语法,例如
kubectl delete job mailmigrationjob-id699*
或
kubectl delete job where name like mailmigrationjob-id699
尝试:
$Pattern="mailmigrationjob-id699"; & kubectl get job | % {"$_" -Split " "} | Select-String -Pattern $Pattern | %{ & kubectl delete job $_ }
取自:Delete all kubernetes pods by regex pattern with PowerShell
另一个选项:
> foreach($i in 1..10){kubectl create job mailmigrationjob-id699-$i --image=busybox -- echo "Hello World"}
job.batch/mailmigrationjob-id699-1 created
job.batch/mailmigrationjob-id699-2 created
job.batch/mailmigrationjob-id699-3 created
job.batch/mailmigrationjob-id699-4 created
job.batch/mailmigrationjob-id699-5 created
job.batch/mailmigrationjob-id699-6 created
job.batch/mailmigrationjob-id699-7 created
job.batch/mailmigrationjob-id699-8 created
job.batch/mailmigrationjob-id699-9 created
job.batch/mailmigrationjob-id699-10 created
> kubectl get jobs
NAME COMPLETIONS DURATION AGE
mailmigrationjob-id699-1 1/1 6s 9s
mailmigrationjob-id699-10 0/1 8s 8s
mailmigrationjob-id699-2 1/1 5s 9s
mailmigrationjob-id699-3 0/1 9s 9s
mailmigrationjob-id699-4 0/1 9s 9s
mailmigrationjob-id699-5 0/1 8s 8s
mailmigrationjob-id699-6 0/1 8s 8s
mailmigrationjob-id699-7 0/1 8s 8s
mailmigrationjob-id699-8 0/1 8s 8s
mailmigrationjob-id699-9 0/1 8s 8s
> $string="mailmigrationjob-id699"; $jobs=(kubectl get job -o NAME|Select-String $string); foreach ($job in $jobs){kubectl delete $job}
job.batch "mailmigrationjob-id699-1" deleted
job.batch "mailmigrationjob-id699-10" deleted
job.batch "mailmigrationjob-id699-2" deleted
job.batch "mailmigrationjob-id699-3" deleted
job.batch "mailmigrationjob-id699-4" deleted
job.batch "mailmigrationjob-id699-5" deleted
job.batch "mailmigrationjob-id699-6" deleted
job.batch "mailmigrationjob-id699-7" deleted
job.batch "mailmigrationjob-id699-8" deleted
job.batch "mailmigrationjob-id699-9" deleted