mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-13 13:55:41 +00:00
Merge pull request #116593 from danwinship/proxy-unused-cleanup
remove some dead code in cmd/kube-proxy
This commit is contained in:
commit
caad9d5630
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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,
|
||||||
|
@ -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,
|
||||||
|
@ -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,
|
||||||
|
@ -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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user