Merge pull request #99658 from deads2k/proxy-skip

promote AllowInsecureBackendProxy to stable
This commit is contained in:
Kubernetes Prow Robot 2021-03-08 07:51:42 -08:00 committed by GitHub
commit f25f071af1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 14 deletions

View File

@ -496,6 +496,7 @@ const (
// owner: @deads2k // owner: @deads2k
// beta: v1.17 // beta: v1.17
// GA: v1.21
// //
// Enables the users to skip TLS verification of kubelets on pod logs requests // Enables the users to skip TLS verification of kubelets on pod logs requests
AllowInsecureBackendProxy featuregate.Feature = "AllowInsecureBackendProxy" AllowInsecureBackendProxy featuregate.Feature = "AllowInsecureBackendProxy"
@ -783,7 +784,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
EndpointSliceNodeName: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, //remove in 1.25 EndpointSliceNodeName: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, //remove in 1.25
WindowsEndpointSliceProxying: {Default: true, PreRelease: featuregate.Beta}, WindowsEndpointSliceProxying: {Default: true, PreRelease: featuregate.Beta},
StartupProbe: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.23 StartupProbe: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.23
AllowInsecureBackendProxy: {Default: true, PreRelease: featuregate.Beta}, AllowInsecureBackendProxy: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.23
PodDisruptionBudget: {Default: true, PreRelease: featuregate.Beta}, PodDisruptionBudget: {Default: true, PreRelease: featuregate.Beta},
CronJobControllerV2: {Default: true, PreRelease: featuregate.Beta}, CronJobControllerV2: {Default: true, PreRelease: featuregate.Beta},
DaemonSetUpdateSurge: {Default: false, PreRelease: featuregate.Alpha}, DaemonSetUpdateSurge: {Default: false, PreRelease: featuregate.Alpha},

View File

@ -27,10 +27,8 @@ import (
genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
genericrest "k8s.io/apiserver/pkg/registry/generic/rest" genericrest "k8s.io/apiserver/pkg/registry/generic/rest"
"k8s.io/apiserver/pkg/registry/rest" "k8s.io/apiserver/pkg/registry/rest"
utilfeature "k8s.io/apiserver/pkg/util/feature"
api "k8s.io/kubernetes/pkg/apis/core" api "k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/apis/core/validation" "k8s.io/kubernetes/pkg/apis/core/validation"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/kubelet/client"
"k8s.io/kubernetes/pkg/registry/core/pod" "k8s.io/kubernetes/pkg/registry/core/pod"
@ -80,11 +78,7 @@ func (r *LogREST) Get(ctx context.Context, name string, opts runtime.Object) (ru
return nil, fmt.Errorf("invalid options object: %#v", opts) return nil, fmt.Errorf("invalid options object: %#v", opts)
} }
// we must do this before forcing the insecure flag if the feature is disabled
countSkipTLSMetric(logOpts.InsecureSkipTLSVerifyBackend) countSkipTLSMetric(logOpts.InsecureSkipTLSVerifyBackend)
if !utilfeature.DefaultFeatureGate.Enabled(features.AllowInsecureBackendProxy) {
logOpts.InsecureSkipTLSVerifyBackend = false
}
if errs := validation.ValidatePodLogOptions(logOpts); len(errs) > 0 { if errs := validation.ValidatePodLogOptions(logOpts); len(errs) > 0 {
return nil, errors.NewInvalid(api.Kind("PodLogOptions"), name, errs) return nil, errors.NewInvalid(api.Kind("PodLogOptions"), name, errs)
@ -107,11 +101,7 @@ func (r *LogREST) Get(ctx context.Context, name string, opts runtime.Object) (ru
func countSkipTLSMetric(insecureSkipTLSVerifyBackend bool) { func countSkipTLSMetric(insecureSkipTLSVerifyBackend bool) {
usageType := usageEnforce usageType := usageEnforce
if insecureSkipTLSVerifyBackend { if insecureSkipTLSVerifyBackend {
if utilfeature.DefaultFeatureGate.Enabled(features.AllowInsecureBackendProxy) { usageType = usageSkipAllowed
usageType = usageSkipAllowed
} else {
usageType = usageSkipDenied
}
} }
counter, err := podLogsUsage.GetMetricWithLabelValues(usageType) counter, err := podLogsUsage.GetMetricWithLabelValues(usageType)

View File

@ -46,7 +46,6 @@ import (
api "k8s.io/kubernetes/pkg/apis/core" api "k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/apis/core/helper/qos" "k8s.io/kubernetes/pkg/apis/core/helper/qos"
"k8s.io/kubernetes/pkg/apis/core/validation" "k8s.io/kubernetes/pkg/apis/core/validation"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/kubelet/client"
proxyutil "k8s.io/kubernetes/pkg/proxy/util" proxyutil "k8s.io/kubernetes/pkg/proxy/util"
) )
@ -386,7 +385,7 @@ func LogLocation(
RawQuery: params.Encode(), RawQuery: params.Encode(),
} }
if opts.InsecureSkipTLSVerifyBackend && utilfeature.DefaultFeatureGate.Enabled(features.AllowInsecureBackendProxy) { if opts.InsecureSkipTLSVerifyBackend {
return loc, nodeInfo.InsecureSkipTLSVerifyTransport, nil return loc, nodeInfo.InsecureSkipTLSVerifyTransport, nil
} }
return loc, nodeInfo.Transport, nil return loc, nodeInfo.Transport, nil