Merge pull request #116593 from danwinship/proxy-unused-cleanup

remove some dead code in cmd/kube-proxy
This commit is contained in:
Kubernetes Prow Robot 2023-04-12 14:54:44 -07:00 committed by GitHub
commit caad9d5630
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 14 additions and 73 deletions

View File

@ -48,7 +48,6 @@ import (
utilfeature "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/client-go/informers" "k8s.io/client-go/informers"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
"k8s.io/client-go/rest" "k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api" clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
@ -79,11 +78,7 @@ import (
proxyutil "k8s.io/kubernetes/pkg/proxy/util" proxyutil "k8s.io/kubernetes/pkg/proxy/util"
"k8s.io/kubernetes/pkg/util/filesystem" "k8s.io/kubernetes/pkg/util/filesystem"
utilflag "k8s.io/kubernetes/pkg/util/flag" utilflag "k8s.io/kubernetes/pkg/util/flag"
utilipset "k8s.io/kubernetes/pkg/util/ipset"
utiliptables "k8s.io/kubernetes/pkg/util/iptables"
utilipvs "k8s.io/kubernetes/pkg/util/ipvs"
"k8s.io/kubernetes/pkg/util/oom" "k8s.io/kubernetes/pkg/util/oom"
"k8s.io/utils/exec"
netutils "k8s.io/utils/net" netutils "k8s.io/utils/net"
"k8s.io/utils/pointer" "k8s.io/utils/pointer"
) )
@ -528,11 +523,6 @@ with the apiserver API to configure the proxy.`,
// fields are required. // fields are required.
type ProxyServer struct { type ProxyServer struct {
Client clientset.Interface Client clientset.Interface
EventClient v1core.EventsGetter
IptInterface utiliptables.Interface
IpvsInterface utilipvs.Interface
IpsetInterface utilipset.Interface
execer exec.Interface
Proxier proxy.Provider Proxier proxy.Provider
Broadcaster events.EventBroadcaster Broadcaster events.EventBroadcaster
Recorder events.EventRecorder Recorder events.EventRecorder
@ -549,9 +539,9 @@ type ProxyServer struct {
localDetectorMode kubeproxyconfig.LocalMode localDetectorMode kubeproxyconfig.LocalMode
} }
// createClients creates a kube client and an event client from the given config and masterOverride. // createClient creates a kube client from the given config and masterOverride.
// TODO remove masterOverride when CLI flags are removed. // TODO remove masterOverride when CLI flags are removed.
func createClients(config componentbaseconfig.ClientConnectionConfiguration, masterOverride string) (clientset.Interface, v1core.EventsGetter, error) { func createClient(config componentbaseconfig.ClientConnectionConfiguration, masterOverride string) (clientset.Interface, error) {
var kubeConfig *rest.Config var kubeConfig *rest.Config
var err error var err error
@ -566,7 +556,7 @@ func createClients(config componentbaseconfig.ClientConnectionConfiguration, mas
&clientcmd.ConfigOverrides{ClusterInfo: clientcmdapi.Cluster{Server: masterOverride}}).ClientConfig() &clientcmd.ConfigOverrides{ClusterInfo: clientcmdapi.Cluster{Server: masterOverride}}).ClientConfig()
} }
if err != nil { if err != nil {
return nil, nil, err return nil, err
} }
kubeConfig.AcceptContentTypes = config.AcceptContentTypes kubeConfig.AcceptContentTypes = config.AcceptContentTypes
@ -576,15 +566,10 @@ func createClients(config componentbaseconfig.ClientConnectionConfiguration, mas
client, err := clientset.NewForConfig(kubeConfig) client, err := clientset.NewForConfig(kubeConfig)
if err != nil { if err != nil {
return nil, nil, err return nil, err
} }
eventClient, err := clientset.NewForConfig(kubeConfig) return client, nil
if err != nil {
return nil, nil, err
}
return client, eventClient.CoreV1(), nil
} }
func serveHealthz(hz healthcheck.ProxierHealthUpdater, errCh chan error) { func serveHealthz(hz healthcheck.ProxierHealthUpdater, errCh chan error) {
@ -667,7 +652,7 @@ func (s *ProxyServer) Run() error {
} }
} }
if s.Broadcaster != nil && s.EventClient != nil { if s.Broadcaster != nil {
stopCh := make(chan struct{}) stopCh := make(chan struct{})
s.Broadcaster.StartRecordingToSink(stopCh) s.Broadcaster.StartRecordingToSink(stopCh)
} }

View File

@ -101,7 +101,7 @@ func newProxyServer(
return nil, err return nil, err
} }
client, eventClient, err := createClients(config.ClientConnection, master) client, err := createClient(config.ClientConnection, master)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -338,11 +338,6 @@ func newProxyServer(
return &ProxyServer{ return &ProxyServer{
Client: client, Client: client,
EventClient: eventClient,
IptInterface: iptInterface,
IpvsInterface: ipvsInterface,
IpsetInterface: ipsetInterface,
execer: execer,
Proxier: proxier, Proxier: proxier,
Broadcaster: eventBroadcaster, Broadcaster: eventBroadcaster,
Recorder: recorder, Recorder: recorder,

View File

@ -65,7 +65,7 @@ func newProxyServer(config *proxyconfigapi.KubeProxyConfiguration, master string
metrics.SetShowHidden() metrics.SetShowHidden()
} }
client, eventClient, err := createClients(config.ClientConnection, master) client, err := createClient(config.ClientConnection, master)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -111,8 +111,6 @@ func newProxyServer(config *proxyconfigapi.KubeProxyConfiguration, master string
proxier, err = winkernel.NewDualStackProxier( proxier, err = winkernel.NewDualStackProxier(
config.IPTables.SyncPeriod.Duration, config.IPTables.SyncPeriod.Duration,
config.IPTables.MinSyncPeriod.Duration, config.IPTables.MinSyncPeriod.Duration,
config.IPTables.MasqueradeAll,
int(*config.IPTables.MasqueradeBit),
config.ClusterCIDR, config.ClusterCIDR,
hostname, hostname,
nodeIPTuple(config.BindAddress), nodeIPTuple(config.BindAddress),
@ -125,8 +123,6 @@ func newProxyServer(config *proxyconfigapi.KubeProxyConfiguration, master string
proxier, err = winkernel.NewProxier( proxier, err = winkernel.NewProxier(
config.IPTables.SyncPeriod.Duration, config.IPTables.SyncPeriod.Duration,
config.IPTables.MinSyncPeriod.Duration, config.IPTables.MinSyncPeriod.Duration,
config.IPTables.MasqueradeAll,
int(*config.IPTables.MasqueradeBit),
config.ClusterCIDR, config.ClusterCIDR,
hostname, hostname,
nodeIP, nodeIP,
@ -143,7 +139,6 @@ func newProxyServer(config *proxyconfigapi.KubeProxyConfiguration, master string
return &ProxyServer{ return &ProxyServer{
Client: client, Client: client,
EventClient: eventClient,
Proxier: proxier, Proxier: proxier,
Broadcaster: eventBroadcaster, Broadcaster: eventBroadcaster,
Recorder: recorder, Recorder: recorder,

View File

@ -125,8 +125,6 @@ func NewHollowProxyOrDie(
return &HollowProxy{ return &HollowProxy{
ProxyServer: &proxyapp.ProxyServer{ ProxyServer: &proxyapp.ProxyServer{
Client: client, Client: client,
EventClient: eventClient,
IptInterface: iptInterface,
Proxier: proxier, Proxier: proxier,
Broadcaster: broadcaster, Broadcaster: broadcaster,
Recorder: recorder, Recorder: recorder,

View File

@ -33,7 +33,6 @@ import (
"github.com/Microsoft/hcsshim/hcn" "github.com/Microsoft/hcsshim/hcn"
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
discovery "k8s.io/api/discovery/v1" discovery "k8s.io/api/discovery/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
apiutil "k8s.io/apimachinery/pkg/util/net" apiutil "k8s.io/apimachinery/pkg/util/net"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
@ -41,7 +40,6 @@ import (
utilfeature "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/client-go/tools/events" "k8s.io/client-go/tools/events"
"k8s.io/klog/v2" "k8s.io/klog/v2"
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
kubefeatures "k8s.io/kubernetes/pkg/features" kubefeatures "k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/proxy" "k8s.io/kubernetes/pkg/proxy"
"k8s.io/kubernetes/pkg/proxy/apis/config" "k8s.io/kubernetes/pkg/proxy/apis/config"
@ -614,21 +612,14 @@ type Proxier struct {
initialized int32 initialized int32
syncRunner *async.BoundedFrequencyRunner // governs calls to syncProxyRules syncRunner *async.BoundedFrequencyRunner // governs calls to syncProxyRules
// These are effectively const and do not need the mutex to be held. // These are effectively const and do not need the mutex to be held.
masqueradeAll bool clusterCIDR string
masqueradeMark string hostname string
clusterCIDR string nodeIP net.IP
hostname string recorder events.EventRecorder
nodeIP net.IP
recorder events.EventRecorder
serviceHealthServer healthcheck.ServiceHealthServer serviceHealthServer healthcheck.ServiceHealthServer
healthzServer healthcheck.ProxierHealthUpdater healthzServer healthcheck.ProxierHealthUpdater
// Since converting probabilities (floats) to strings is expensive
// and we are using only probabilities in the format of 1/n, we are
// precomputing some number of those and cache for future reuse.
precomputedProbabilities []string
hns HostNetworkService hns HostNetworkService
network hnsNetworkInfo network hnsNetworkInfo
sourceVip string sourceVip string
@ -677,8 +668,6 @@ var _ proxy.Provider = &Proxier{}
func NewProxier( func NewProxier(
syncPeriod time.Duration, syncPeriod time.Duration,
minSyncPeriod time.Duration, minSyncPeriod time.Duration,
masqueradeAll bool,
masqueradeBit int,
clusterCIDR string, clusterCIDR string,
hostname string, hostname string,
nodeIP net.IP, nodeIP net.IP,
@ -687,9 +676,6 @@ func NewProxier(
config config.KubeProxyWinkernelConfiguration, config config.KubeProxyWinkernelConfiguration,
healthzPort int, healthzPort int,
) (*Proxier, error) { ) (*Proxier, error) {
masqueradeValue := 1 << uint(masqueradeBit)
masqueradeMark := fmt.Sprintf("%#08x/%#08x", masqueradeValue, masqueradeValue)
if nodeIP == nil { if nodeIP == nil {
klog.InfoS("Invalid nodeIP, initializing kube-proxy with 127.0.0.1 as nodeIP") klog.InfoS("Invalid nodeIP, initializing kube-proxy with 127.0.0.1 as nodeIP")
nodeIP = netutils.ParseIPSloppy("127.0.0.1") nodeIP = netutils.ParseIPSloppy("127.0.0.1")
@ -783,8 +769,6 @@ func NewProxier(
endPointsRefCount: make(endPointsReferenceCountMap), endPointsRefCount: make(endPointsReferenceCountMap),
svcPortMap: make(proxy.ServicePortMap), svcPortMap: make(proxy.ServicePortMap),
endpointsMap: make(proxy.EndpointsMap), endpointsMap: make(proxy.EndpointsMap),
masqueradeAll: masqueradeAll,
masqueradeMark: masqueradeMark,
clusterCIDR: clusterCIDR, clusterCIDR: clusterCIDR,
hostname: hostname, hostname: hostname,
nodeIP: nodeIP, nodeIP: nodeIP,
@ -822,8 +806,6 @@ func NewProxier(
func NewDualStackProxier( func NewDualStackProxier(
syncPeriod time.Duration, syncPeriod time.Duration,
minSyncPeriod time.Duration, minSyncPeriod time.Duration,
masqueradeAll bool,
masqueradeBit int,
clusterCIDR string, clusterCIDR string,
hostname string, hostname string,
nodeIP [2]net.IP, nodeIP [2]net.IP,
@ -834,14 +816,14 @@ func NewDualStackProxier(
) (proxy.Provider, error) { ) (proxy.Provider, error) {
// Create an ipv4 instance of the single-stack proxier // Create an ipv4 instance of the single-stack proxier
ipv4Proxier, err := NewProxier(syncPeriod, minSyncPeriod, masqueradeAll, masqueradeBit, ipv4Proxier, err := NewProxier(syncPeriod, minSyncPeriod,
clusterCIDR, hostname, nodeIP[0], recorder, healthzServer, config, healthzPort) clusterCIDR, hostname, nodeIP[0], recorder, healthzServer, config, healthzPort)
if err != nil { if err != nil {
return nil, fmt.Errorf("unable to create ipv4 proxier: %v, hostname: %s, clusterCIDR : %s, nodeIP:%v", err, hostname, clusterCIDR, nodeIP[0]) return nil, fmt.Errorf("unable to create ipv4 proxier: %v, hostname: %s, clusterCIDR : %s, nodeIP:%v", err, hostname, clusterCIDR, nodeIP[0])
} }
ipv6Proxier, err := NewProxier(syncPeriod, minSyncPeriod, masqueradeAll, masqueradeBit, ipv6Proxier, err := NewProxier(syncPeriod, minSyncPeriod,
clusterCIDR, hostname, nodeIP[1], recorder, healthzServer, config, healthzPort) clusterCIDR, hostname, nodeIP[1], recorder, healthzServer, config, healthzPort)
if err != nil { if err != nil {
return nil, fmt.Errorf("unable to create ipv6 proxier: %v, hostname: %s, clusterCIDR : %s, nodeIP:%v", err, hostname, clusterCIDR, nodeIP[1]) return nil, fmt.Errorf("unable to create ipv6 proxier: %v, hostname: %s, clusterCIDR : %s, nodeIP:%v", err, hostname, clusterCIDR, nodeIP[1])
@ -1034,20 +1016,6 @@ func (proxier *Proxier) OnServiceSynced() {
proxier.syncProxyRules() proxier.syncProxyRules()
} }
func shouldSkipService(svcName types.NamespacedName, service *v1.Service) bool {
// if ClusterIP is "None" or empty, skip proxying
if !helper.IsServiceIPSet(service) {
klog.V(3).InfoS("Skipping service due to clusterIP", "serviceName", svcName, "clusterIP", service.Spec.ClusterIP)
return true
}
// Even if ClusterIP is set, ServiceTypeExternalName services don't get proxied
if service.Spec.Type == v1.ServiceTypeExternalName {
klog.V(3).InfoS("Skipping service due to Type=ExternalName", "serviceName", svcName)
return true
}
return false
}
// OnEndpointSliceAdd is called whenever creation of a new endpoint slice object // OnEndpointSliceAdd is called whenever creation of a new endpoint slice object
// is observed. // is observed.
func (proxier *Proxier) OnEndpointSliceAdd(endpointSlice *discovery.EndpointSlice) { func (proxier *Proxier) OnEndpointSliceAdd(endpointSlice *discovery.EndpointSlice) {