Delete argoworkflow jobs when argoworkflow server or controller are down

当argo workflow遇到大量event堆积的时候,会有很多WorkFlow资源处于无响应的状态。本次遇到的情况是大约500-650个workflow会处于Running状态,其余的处于没有任何label的状态。

当这些事件触发的Workflow很多的时候,controller可能会因为查询workflow状态超时而变成unhealthy状态,甚至无法响应。 此时需要删除这些无label的workflow需要通过kubectl来筛选Workflow并删除

kubectl -n argo-events get Workflow --selector='events.argoproj.io/sensor=YOUR_WEBHOOK_LABEL,!workflows.argoproj.io/phase' > cleanup_argo_events.txt
tail -n +2 cleanup_argo_events.txt | awk '{ print $1 }' | xargs -P 5 -I{} kubectl -n argo-events delete Workflow/{}


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注