我们在几个月前创建了控制器,它使用 kubebuilder 运行良好。
几周前,我们向一个秘密添加了一个“侦听器”,当秘密发生变化时(秘密属性)应该调用调和,问题是它有时工作有时不工作,(你改变秘密应用它并协调不会发生),我们正在为完全相同的秘密文件做这件事。
我们尝试了几天但没有成功找到根本原因,(我们将k8s.io/client-go v0.23.4和 也更改为v0.22.3现在 v0.22.1这只是工作。知道问题可能是什么吗?任何提示都会有所帮助。或者我们可以通过任何其他方式来做到这一点试用。
func (r *vtsReconciler) SetupWithManager(mgr ctrl.Manager) error {
manager := ctrl.NewControllerManagedBy(mgr).
For(&vts.str).
WithEventFilter(predicate.Or(predicate.AnnotationChangedPredicate{}))
manager = manager.Watches(&source.Kind{Type: &v1.Secret{}}, handler.EnqueueRequestsFromMapFunc(func(a client.Object) []reconcile.Request {
return r.SecretRequests.SecretFinder(a.GetName())
}))
return manager.Complete(r)
}
func (secm *SecretMapper) SecretFinder(name string) []reconcile.Request {
v := cli.ObjectKey{Name: name}
return secm.SecMap[v.String()]
}
智慧大石
心有法竹
随时随地看视频慕课网APP
相关分类