fix(lb): honor lb owner node annotation
deploy / build (push) Successful in 3m51s

This commit is contained in:
2026-08-03 03:08:49 +03:30
parent 8718d27fc7
commit d2b1a21a07
4 changed files with 16 additions and 0 deletions
+11
View File
@@ -147,6 +147,10 @@ func (s *Speaker) sync(ctx context.Context, key string) error {
s.stopLeading(key, vip)
return nil
}
if owner := serviceOwnerNode(svc); owner != "" && owner != s.nodeName {
s.stopLeading(key, vip)
return nil
}
leaseName := leaseNameFor(key)
leader, err := s.acquireLease(ctx, leaseName, vip)
@@ -161,6 +165,13 @@ func (s *Speaker) sync(ctx context.Context, key string) error {
return s.ensureVIP(vip)
}
func serviceOwnerNode(svc *corev1.Service) string {
if svc == nil || svc.Annotations == nil {
return ""
}
return strings.TrimSpace(svc.Annotations[kloudlb.AnnotationNode])
}
func serviceExternalVIP(svc *corev1.Service) string {
if svc.Annotations != nil {
if vip := strings.TrimSpace(svc.Annotations[kloudlb.AnnotationVIP]); vip != "" {