From 4047a912874264e6c2d2ed92b08afa74f03a81fe Mon Sep 17 00:00:00 2001 From: mars Date: Fri, 22 Dec 2023 15:12:15 +0800 Subject: [PATCH] Fix: If the load balancing service does not have the annotation kube-vip.io/loadbalancerips, it will always be in a pending state Signed-off-by: mars --- pkg/provider/loadBalancer.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkg/provider/loadBalancer.go b/pkg/provider/loadBalancer.go index b2dbf84..70af023 100644 --- a/pkg/provider/loadBalancer.go +++ b/pkg/provider/loadBalancer.go @@ -178,11 +178,13 @@ func (k *kubevipLoadBalancerManager) syncLoadBalancer(ctx context.Context, servi builder := &netipx.IPSetBuilder{} for x := range svcs.Items { - addr, err := netip.ParseAddr(svcs.Items[x].Annotations[loadbalancerIPsAnnotations]) - if err != nil { - return nil, err + if ip, ok := svcs.Items[x].Annotations[loadbalancerIPsAnnotations]; ok { + addr, err := netip.ParseAddr(ip) + if err != nil { + return nil, err + } + builder.Add(addr) } - builder.Add(addr) } inUseSet, err := builder.IPSet() if err != nil {