From 8039cf9bb1a3d3c600c0eaf35b53b008f0226ffc Mon Sep 17 00:00:00 2001 From: Rob Scott Date: Wed, 1 Jul 2020 18:47:22 -0700 Subject: [PATCH] Graduating EndpointSliceProxying to beta for Linux --- cmd/kube-proxy/app/server_windows.go | 2 +- pkg/features/kube_features.go | 10 +++++++++- pkg/proxy/winkernel/proxier.go | 4 ++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/cmd/kube-proxy/app/server_windows.go b/cmd/kube-proxy/app/server_windows.go index 8036c6ffe2d..759f04b0886 100644 --- a/cmd/kube-proxy/app/server_windows.go +++ b/cmd/kube-proxy/app/server_windows.go @@ -174,7 +174,7 @@ func newProxyServer(config *proxyconfigapi.KubeProxyConfiguration, cleanupAndExi OOMScoreAdj: config.OOMScoreAdj, ConfigSyncPeriod: config.ConfigSyncPeriod.Duration, HealthzServer: healthzServer, - UseEndpointSlices: utilfeature.DefaultFeatureGate.Enabled(features.EndpointSliceProxying), + UseEndpointSlices: utilfeature.DefaultFeatureGate.Enabled(features.WindowsEndpointSliceProxying), }, nil } diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index a8482c78d4a..86ef9979deb 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -515,10 +515,17 @@ const ( // owner: @robscott @freehan // alpha: v1.18 + // beta: v1.19 // // Enable Endpoint Slice consumption by kube-proxy for improved scalability. EndpointSliceProxying featuregate.Feature = "EndpointSliceProxying" + // owner: @robscott @kumarvin123 + // alpha: v1.19 + // + // Enable Endpoint Slice consumption by kube-proxy in Windows for improved scalability. + WindowsEndpointSliceProxying featuregate.Feature = "WindowsEndpointSliceProxying" + // owner: @Huang-Wei // alpha: v1.16 // beta: v1.18 @@ -680,7 +687,8 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS PodOverhead: {Default: true, PreRelease: featuregate.Beta}, IPv6DualStack: {Default: false, PreRelease: featuregate.Alpha}, EndpointSlice: {Default: true, PreRelease: featuregate.Beta}, - EndpointSliceProxying: {Default: false, PreRelease: featuregate.Alpha}, + EndpointSliceProxying: {Default: true, PreRelease: featuregate.Beta}, + WindowsEndpointSliceProxying: {Default: false, PreRelease: featuregate.Alpha}, EvenPodsSpread: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.21 StartupProbe: {Default: true, PreRelease: featuregate.Beta}, AllowInsecureBackendProxy: {Default: true, PreRelease: featuregate.Beta}, diff --git a/pkg/proxy/winkernel/proxier.go b/pkg/proxy/winkernel/proxier.go index 04925251f1d..3336e746cb3 100644 --- a/pkg/proxy/winkernel/proxier.go +++ b/pkg/proxy/winkernel/proxier.go @@ -579,7 +579,7 @@ func NewProxier( } isIPv6 := utilnet.IsIPv6(nodeIP) - endpointSlicesEnabled := utilfeature.DefaultFeatureGate.Enabled(features.EndpointSliceProxying) + endpointSlicesEnabled := utilfeature.DefaultFeatureGate.Enabled(features.WindowsEndpointSliceProxying) proxier := &Proxier{ endPointsRefCount: make(endPointsReferenceCountMap), portsMap: make(map[utilproxy.LocalPort]utilproxy.Closeable), @@ -779,7 +779,7 @@ func (proxier *Proxier) OnServiceDelete(service *v1.Service) { func (proxier *Proxier) OnServiceSynced() { proxier.mu.Lock() proxier.servicesSynced = true - if utilfeature.DefaultFeatureGate.Enabled(features.EndpointSliceProxying) { + if utilfeature.DefaultFeatureGate.Enabled(features.WindowsEndpointSliceProxying) { proxier.setInitialized(proxier.endpointSlicesSynced) } else { proxier.setInitialized(proxier.endpointsSynced)