Drop broken/no-op proxyconfig.EndpointsHandler implementations

Because the proxy.Provider interface included
proxyconfig.EndpointsHandler, all the backends needed to
implement its methods. But iptables, ipvs, and winkernel implemented
them as no-ops, and metaproxier had an implementation that wouldn't
actually work (because it couldn't handle Services with no active
Endpoints).

Since Endpoints processing in kube-proxy is deprecated (and can't be
re-enabled unless you're using a backend that doesn't support
EndpointSlice), remove proxyconfig.EndpointsHandler from the
definition of proxy.Provider and drop all the useless implementations.
This commit is contained in:
Dan Winship
2021-09-06 15:51:50 -04:00
parent eb729620c5
commit 7f6fbc4482
9 changed files with 8 additions and 240 deletions

View File

@@ -28,7 +28,6 @@ import (
// Provider is the interface provided by proxier implementations.
type Provider interface {
config.EndpointsHandler
config.EndpointSliceHandler
config.ServiceHandler
config.NodeHandler