Go语言 在k8s控制器运行时中,如何在x次尝试后停止重新排队协调器中的请求?

toe95027  于 5个月前  发布在  Go
关注(0)|答案(1)|浏览(74)

我需要从由于故障而使用控制器运行时框架在超过x次重新排队后无限期运行的协调器中恢复。我知道可以使用reconcile.Result{Requeue:false}, nil停止重新排队或使用RequestueAfter设置回退。但是,我需要在x次尝试后停止并优雅地结束协调。是否有方法实现此目的?

llycmphe

llycmphe1#

不可能使用reconcile.Result返回值。
如果您预计会出现特定错误,请在发生此特定错误(例如速率限制错误)时停止协调。
否则,您将不得不自己实现逻辑,以某种方式存储协调对象的次数,无论是在控制器内(变为状态)还是在工作区对象中与协调对象一起。

相关问题