Merge pull request #3728 from johngmyers/refactor

Refactor some Service code
This commit is contained in:
Kubernetes Prow Robot 2023-06-28 03:28:32 -07:00 committed by GitHub
commit 1d20b5c06b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -498,16 +498,15 @@ func (sc *serviceSource) generateEndpoints(svc *v1.Service, hostname string, pro
switch svc.Spec.Type {
case v1.ServiceTypeLoadBalancer:
if useClusterIP {
targets = append(targets, extractServiceIps(svc)...)
targets = extractServiceIps(svc)
} else {
targets = append(targets, extractLoadBalancerTargets(svc, sc.resolveLoadBalancerHostname)...)
targets = extractLoadBalancerTargets(svc, sc.resolveLoadBalancerHostname)
}
case v1.ServiceTypeClusterIP:
if sc.publishInternal {
targets = append(targets, extractServiceIps(svc)...)
}
if svc.Spec.ClusterIP == v1.ClusterIPNone {
endpoints = append(endpoints, sc.extractHeadlessEndpoints(svc, hostname, ttl)...)
} else if sc.publishInternal {
targets = extractServiceIps(svc)
}
case v1.ServiceTypeNodePort:
// add the nodeTargets and extract an SRV endpoint
@ -518,7 +517,7 @@ func (sc *serviceSource) generateEndpoints(svc *v1.Service, hostname string, pro
}
endpoints = append(endpoints, sc.extractNodePortEndpoints(svc, hostname, ttl)...)
case v1.ServiceTypeExternalName:
targets = append(targets, extractServiceExternalName(svc)...)
targets = extractServiceExternalName(svc)
}
}
@ -562,12 +561,12 @@ func extractServiceExternalName(svc *v1.Service) endpoint.Targets {
}
func extractLoadBalancerTargets(svc *v1.Service, resolveLoadBalancerHostname bool) endpoint.Targets {
var (
targets endpoint.Targets
externalIPs endpoint.Targets
)
if len(svc.Spec.ExternalIPs) > 0 {
return svc.Spec.ExternalIPs
}
// Create a corresponding endpoint for each configured external entrypoint.
var targets endpoint.Targets
for _, lb := range svc.Status.LoadBalancer.Ingress {
if lb.IP != "" {
targets = append(targets, lb.IP)
@ -588,16 +587,6 @@ func extractLoadBalancerTargets(svc *v1.Service, resolveLoadBalancerHostname boo
}
}
if svc.Spec.ExternalIPs != nil {
for _, ext := range svc.Spec.ExternalIPs {
externalIPs = append(externalIPs, ext)
}
}
if len(externalIPs) > 0 {
return externalIPs
}
return targets
}