in pkg/lbcontroller/lbcontroller.go [83:108]
func (c *LBController) resyncIPMap(ipList []string) (map[string]int, error) {
clusterNodes, err := c.nodeLister.List(labels.Everything())
if err != nil {
return nil, fmt.Errorf("failed to get cluster nodes: %w", err)
}
c.mutex.Lock()
defer c.mutex.Unlock()
ipMap := make(map[string]int)
for _, ip := range ipList {
ipMap[ip] = 0
}
for _, node := range clusterNodes {
if ip, exists := node.Annotations[NodeAnnotation]; exists {
klog.Infof("Node %q already have IP %q assigned", node.Name, ip)
if _, exists := ipMap[ip]; exists {
ipMap[ip]++
}
}
}
klog.V(6).Infof("LB controller ipMap resynced: %v", ipMap)
return ipMap, nil
}