mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 13:37:30 +00:00
migrate proxy.UpdateServiceMap to be a method of ServiceMap
This commit is contained in:
parent
d1db90ba57
commit
5af5a2ac7d
@ -846,7 +846,7 @@ func (proxier *Proxier) syncProxyRules() {
|
|||||||
// We assume that if this was called, we really want to sync them,
|
// We assume that if this was called, we really want to sync them,
|
||||||
// even if nothing changed in the meantime. In other words, callers are
|
// even if nothing changed in the meantime. In other words, callers are
|
||||||
// responsible for detecting no-op changes and not calling this function.
|
// responsible for detecting no-op changes and not calling this function.
|
||||||
serviceUpdateResult := proxy.UpdateServiceMap(proxier.serviceMap, proxier.serviceChanges)
|
serviceUpdateResult := proxier.serviceMap.Update(proxier.serviceChanges)
|
||||||
endpointUpdateResult := proxier.endpointsMap.Update(proxier.endpointsChanges)
|
endpointUpdateResult := proxier.endpointsMap.Update(proxier.endpointsChanges)
|
||||||
|
|
||||||
staleServices := serviceUpdateResult.UDPStaleClusterIP
|
staleServices := serviceUpdateResult.UDPStaleClusterIP
|
||||||
|
@ -252,7 +252,7 @@ func TestDeleteEndpointConnectionsIPv4(t *testing.T) {
|
|||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
fp.serviceMap.Update(fp.serviceChanges)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run the test cases
|
// Run the test cases
|
||||||
@ -395,7 +395,7 @@ func TestDeleteEndpointConnectionsIPv6(t *testing.T) {
|
|||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
fp.serviceMap.Update(fp.serviceChanges)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run the test cases
|
// Run the test cases
|
||||||
@ -1416,7 +1416,7 @@ func TestBuildServiceMapAddRemove(t *testing.T) {
|
|||||||
for i := range services {
|
for i := range services {
|
||||||
fp.OnServiceAdd(services[i])
|
fp.OnServiceAdd(services[i])
|
||||||
}
|
}
|
||||||
result := proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 10 {
|
if len(fp.serviceMap) != 10 {
|
||||||
t.Errorf("expected service map length 10, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 10, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -1449,7 +1449,7 @@ func TestBuildServiceMapAddRemove(t *testing.T) {
|
|||||||
fp.OnServiceDelete(services[2])
|
fp.OnServiceDelete(services[2])
|
||||||
fp.OnServiceDelete(services[3])
|
fp.OnServiceDelete(services[3])
|
||||||
|
|
||||||
result = proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 1 {
|
if len(fp.serviceMap) != 1 {
|
||||||
t.Errorf("expected service map length 1, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 1, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -1489,7 +1489,7 @@ func TestBuildServiceMapServiceHeadless(t *testing.T) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Headless service should be ignored
|
// Headless service should be ignored
|
||||||
result := proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 0 {
|
if len(fp.serviceMap) != 0 {
|
||||||
t.Errorf("expected service map length 0, got %d", len(fp.serviceMap))
|
t.Errorf("expected service map length 0, got %d", len(fp.serviceMap))
|
||||||
}
|
}
|
||||||
@ -1517,7 +1517,7 @@ func TestBuildServiceMapServiceTypeExternalName(t *testing.T) {
|
|||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
result := proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 0 {
|
if len(fp.serviceMap) != 0 {
|
||||||
t.Errorf("expected service map length 0, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 0, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -1557,7 +1557,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
|
|
||||||
fp.OnServiceAdd(servicev1)
|
fp.OnServiceAdd(servicev1)
|
||||||
|
|
||||||
result := proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -1571,7 +1571,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
|
|
||||||
// Change service to load-balancer
|
// Change service to load-balancer
|
||||||
fp.OnServiceUpdate(servicev1, servicev2)
|
fp.OnServiceUpdate(servicev1, servicev2)
|
||||||
result = proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -1585,7 +1585,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
// No change; make sure the service map stays the same and there are
|
// No change; make sure the service map stays the same and there are
|
||||||
// no health-check changes
|
// no health-check changes
|
||||||
fp.OnServiceUpdate(servicev2, servicev2)
|
fp.OnServiceUpdate(servicev2, servicev2)
|
||||||
result = proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -1598,7 +1598,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
|
|
||||||
// And back to ClusterIP
|
// And back to ClusterIP
|
||||||
fp.OnServiceUpdate(servicev2, servicev1)
|
fp.OnServiceUpdate(servicev2, servicev1)
|
||||||
result = proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
|
@ -1056,7 +1056,7 @@ func (proxier *Proxier) syncProxyRules() {
|
|||||||
// We assume that if this was called, we really want to sync them,
|
// We assume that if this was called, we really want to sync them,
|
||||||
// even if nothing changed in the meantime. In other words, callers are
|
// even if nothing changed in the meantime. In other words, callers are
|
||||||
// responsible for detecting no-op changes and not calling this function.
|
// responsible for detecting no-op changes and not calling this function.
|
||||||
serviceUpdateResult := proxy.UpdateServiceMap(proxier.serviceMap, proxier.serviceChanges)
|
serviceUpdateResult := proxier.serviceMap.Update(proxier.serviceChanges)
|
||||||
endpointUpdateResult := proxier.endpointsMap.Update(proxier.endpointsChanges)
|
endpointUpdateResult := proxier.endpointsMap.Update(proxier.endpointsChanges)
|
||||||
|
|
||||||
staleServices := serviceUpdateResult.UDPStaleClusterIP
|
staleServices := serviceUpdateResult.UDPStaleClusterIP
|
||||||
|
@ -2251,7 +2251,7 @@ func TestBuildServiceMapAddRemove(t *testing.T) {
|
|||||||
for i := range services {
|
for i := range services {
|
||||||
fp.OnServiceAdd(services[i])
|
fp.OnServiceAdd(services[i])
|
||||||
}
|
}
|
||||||
result := proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 12 {
|
if len(fp.serviceMap) != 12 {
|
||||||
t.Errorf("expected service map length 12, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 12, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -2284,7 +2284,7 @@ func TestBuildServiceMapAddRemove(t *testing.T) {
|
|||||||
fp.OnServiceDelete(services[2])
|
fp.OnServiceDelete(services[2])
|
||||||
fp.OnServiceDelete(services[3])
|
fp.OnServiceDelete(services[3])
|
||||||
|
|
||||||
result = proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 1 {
|
if len(fp.serviceMap) != 1 {
|
||||||
t.Errorf("expected service map length 1, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 1, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -2331,7 +2331,7 @@ func TestBuildServiceMapServiceHeadless(t *testing.T) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Headless service should be ignored
|
// Headless service should be ignored
|
||||||
result := proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 0 {
|
if len(fp.serviceMap) != 0 {
|
||||||
t.Errorf("expected service map length 0, got %d", len(fp.serviceMap))
|
t.Errorf("expected service map length 0, got %d", len(fp.serviceMap))
|
||||||
}
|
}
|
||||||
@ -2361,7 +2361,7 @@ func TestBuildServiceMapServiceTypeExternalName(t *testing.T) {
|
|||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
result := proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 0 {
|
if len(fp.serviceMap) != 0 {
|
||||||
t.Errorf("expected service map length 0, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 0, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -2403,7 +2403,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
|
|
||||||
fp.OnServiceAdd(servicev1)
|
fp.OnServiceAdd(servicev1)
|
||||||
|
|
||||||
result := proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -2417,7 +2417,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
|
|
||||||
// Change service to load-balancer
|
// Change service to load-balancer
|
||||||
fp.OnServiceUpdate(servicev1, servicev2)
|
fp.OnServiceUpdate(servicev1, servicev2)
|
||||||
result = proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -2431,7 +2431,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
// No change; make sure the service map stays the same and there are
|
// No change; make sure the service map stays the same and there are
|
||||||
// no health-check changes
|
// no health-check changes
|
||||||
fp.OnServiceUpdate(servicev2, servicev2)
|
fp.OnServiceUpdate(servicev2, servicev2)
|
||||||
result = proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -2444,7 +2444,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
|
|
||||||
// And back to ClusterIP
|
// And back to ClusterIP
|
||||||
fp.OnServiceUpdate(servicev2, servicev1)
|
fp.OnServiceUpdate(servicev2, servicev1)
|
||||||
result = proxy.UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
|
@ -292,15 +292,15 @@ type UpdateServiceMapResult struct {
|
|||||||
UDPStaleClusterIP sets.String
|
UDPStaleClusterIP sets.String
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdateServiceMap updates ServiceMap based on the given changes.
|
// Update updates ServiceMap base on the given changes.
|
||||||
func UpdateServiceMap(serviceMap ServiceMap, changes *ServiceChangeTracker) (result UpdateServiceMapResult) {
|
func (sm ServiceMap) Update(changes *ServiceChangeTracker) (result UpdateServiceMapResult) {
|
||||||
result.UDPStaleClusterIP = sets.NewString()
|
result.UDPStaleClusterIP = sets.NewString()
|
||||||
serviceMap.apply(changes, result.UDPStaleClusterIP)
|
sm.apply(changes, result.UDPStaleClusterIP)
|
||||||
|
|
||||||
// TODO: If this will appear to be computationally expensive, consider
|
// TODO: If this will appear to be computationally expensive, consider
|
||||||
// computing this incrementally similarly to serviceMap.
|
// computing this incrementally similarly to serviceMap.
|
||||||
result.HCServiceNodePorts = make(map[types.NamespacedName]uint16)
|
result.HCServiceNodePorts = make(map[types.NamespacedName]uint16)
|
||||||
for svcPortName, info := range serviceMap {
|
for svcPortName, info := range sm {
|
||||||
if info.HealthCheckNodePort() != 0 {
|
if info.HealthCheckNodePort() != 0 {
|
||||||
result.HCServiceNodePorts[svcPortName.NamespacedName] = uint16(info.HealthCheckNodePort())
|
result.HCServiceNodePorts[svcPortName.NamespacedName] = uint16(info.HealthCheckNodePort())
|
||||||
}
|
}
|
||||||
|
@ -538,7 +538,7 @@ func (fake *FakeProxier) deleteService(service *v1.Service) {
|
|||||||
fake.serviceChanges.Update(service, nil)
|
fake.serviceChanges.Update(service, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUpdateServiceMapHeadless(t *testing.T) {
|
func TestServiceMapUpdateHeadless(t *testing.T) {
|
||||||
fp := newFakeProxier(v1.IPv4Protocol)
|
fp := newFakeProxier(v1.IPv4Protocol)
|
||||||
|
|
||||||
makeServiceMap(fp,
|
makeServiceMap(fp,
|
||||||
@ -554,7 +554,7 @@ func TestUpdateServiceMapHeadless(t *testing.T) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Headless service should be ignored
|
// Headless service should be ignored
|
||||||
result := UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 0 {
|
if len(fp.serviceMap) != 0 {
|
||||||
t.Errorf("expected service map length 0, got %d", len(fp.serviceMap))
|
t.Errorf("expected service map length 0, got %d", len(fp.serviceMap))
|
||||||
}
|
}
|
||||||
@ -581,7 +581,7 @@ func TestUpdateServiceTypeExternalName(t *testing.T) {
|
|||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
result := UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 0 {
|
if len(fp.serviceMap) != 0 {
|
||||||
t.Errorf("expected service map length 0, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 0, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -641,7 +641,7 @@ func TestBuildServiceMapAddRemove(t *testing.T) {
|
|||||||
for i := range services {
|
for i := range services {
|
||||||
fp.addService(services[i])
|
fp.addService(services[i])
|
||||||
}
|
}
|
||||||
result := UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 8 {
|
if len(fp.serviceMap) != 8 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -674,7 +674,7 @@ func TestBuildServiceMapAddRemove(t *testing.T) {
|
|||||||
fp.deleteService(services[2])
|
fp.deleteService(services[2])
|
||||||
fp.deleteService(services[3])
|
fp.deleteService(services[3])
|
||||||
|
|
||||||
result = UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 1 {
|
if len(fp.serviceMap) != 1 {
|
||||||
t.Errorf("expected service map length 1, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 1, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -723,7 +723,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
|
|
||||||
fp.addService(servicev1)
|
fp.addService(servicev1)
|
||||||
|
|
||||||
result := UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result := fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -737,7 +737,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
|
|
||||||
// Change service to load-balancer
|
// Change service to load-balancer
|
||||||
fp.updateService(servicev1, servicev2)
|
fp.updateService(servicev1, servicev2)
|
||||||
result = UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -751,7 +751,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
// No change; make sure the service map stays the same and there are
|
// No change; make sure the service map stays the same and there are
|
||||||
// no health-check changes
|
// no health-check changes
|
||||||
fp.updateService(servicev2, servicev2)
|
fp.updateService(servicev2, servicev2)
|
||||||
result = UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
@ -764,7 +764,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
|
|||||||
|
|
||||||
// And back to ClusterIP
|
// And back to ClusterIP
|
||||||
fp.updateService(servicev2, servicev1)
|
fp.updateService(servicev2, servicev1)
|
||||||
result = UpdateServiceMap(fp.serviceMap, fp.serviceChanges)
|
result = fp.serviceMap.Update(fp.serviceChanges)
|
||||||
if len(fp.serviceMap) != 2 {
|
if len(fp.serviceMap) != 2 {
|
||||||
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
t.Errorf("expected service map length 2, got %v", fp.serviceMap)
|
||||||
}
|
}
|
||||||
|
@ -941,7 +941,7 @@ func (proxier *Proxier) syncProxyRules() {
|
|||||||
// We assume that if this was called, we really want to sync them,
|
// We assume that if this was called, we really want to sync them,
|
||||||
// even if nothing changed in the meantime. In other words, callers are
|
// even if nothing changed in the meantime. In other words, callers are
|
||||||
// responsible for detecting no-op changes and not calling this function.
|
// responsible for detecting no-op changes and not calling this function.
|
||||||
serviceUpdateResult := proxy.UpdateServiceMap(proxier.serviceMap, proxier.serviceChanges)
|
serviceUpdateResult := proxier.serviceMap.Update(proxier.serviceChanges)
|
||||||
endpointUpdateResult := proxier.endpointsMap.Update(proxier.endpointsChanges)
|
endpointUpdateResult := proxier.endpointsMap.Update(proxier.endpointsChanges)
|
||||||
|
|
||||||
staleServices := serviceUpdateResult.UDPStaleClusterIP
|
staleServices := serviceUpdateResult.UDPStaleClusterIP
|
||||||
|
Loading…
Reference in New Issue
Block a user