当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/{}
发表回复