Lock the DisableNodeKubeProxyVersion feature gate to be enabled by default.

This commit is contained in:
HirazawaUi 2026-02-04 20:53:10 +08:00
parent 8c9c67c000
commit 9703ce508f
6 changed files with 12 additions and 16 deletions

View file

@ -1258,7 +1258,8 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
DisableNodeKubeProxyVersion: {
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Deprecated},
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Deprecated}, // lock to default in 1.34 and remove in v1.37
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Deprecated},
{Version: version.MustParse("1.36"), Default: true, PreRelease: featuregate.Deprecated, LockToDefault: true}, // lock to default in 1.36 and remove in v1.39
},
DynamicResourceAllocation: {

View file

@ -39,7 +39,6 @@ import (
"k8s.io/apimachinery/pkg/util/uuid"
utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/component-base/featuregate"
featuregatetesting "k8s.io/component-base/featuregate/testing"
"k8s.io/component-base/version"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/kubelet/cm"
@ -969,7 +968,6 @@ func TestVersionInfo(t *testing.T) {
runtimeVersionError error
expectNode *v1.Node
expectError error
kubeProxyVersion bool
}{
{
desc: "versions set in node info",
@ -989,11 +987,10 @@ func TestVersionInfo(t *testing.T) {
OSImage: "ContainerOSVersion",
ContainerRuntimeVersion: "RuntimeType://RuntimeVersion",
KubeletVersion: version.Get().String(),
KubeProxyVersion: version.Get().String(),
KubeProxyVersion: "",
},
},
},
kubeProxyVersion: true,
},
{
desc: "error getting version info",
@ -1001,7 +998,6 @@ func TestVersionInfo(t *testing.T) {
versionInfoError: fmt.Errorf("foo"),
expectNode: &v1.Node{},
expectError: fmt.Errorf("error getting version info: foo"),
kubeProxyVersion: true,
},
{
desc: "error getting runtime version results in Unknown runtime",
@ -1014,11 +1010,10 @@ func TestVersionInfo(t *testing.T) {
NodeInfo: v1.NodeSystemInfo{
ContainerRuntimeVersion: "RuntimeType://Unknown",
KubeletVersion: version.Get().String(),
KubeProxyVersion: version.Get().String(),
KubeProxyVersion: "",
},
},
},
kubeProxyVersion: true,
},
{
desc: "DisableNodeKubeProxyVersion FeatureGate enable, versions set in node info",
@ -1038,10 +1033,10 @@ func TestVersionInfo(t *testing.T) {
OSImage: "ContainerOSVersion",
ContainerRuntimeVersion: "RuntimeType://RuntimeVersion",
KubeletVersion: version.Get().String(),
KubeProxyVersion: "",
},
},
},
kubeProxyVersion: false,
},
{
desc: "DisableNodeKubeProxyVersion FeatureGate enable, KubeProxyVersion will be cleared if it is set.",
@ -1052,7 +1047,7 @@ func TestVersionInfo(t *testing.T) {
OSImage: "ContainerOSVersion",
ContainerRuntimeVersion: "RuntimeType://RuntimeVersion",
KubeletVersion: version.Get().String(),
KubeProxyVersion: version.Get().String(),
KubeProxyVersion: "",
},
},
},
@ -1071,17 +1066,15 @@ func TestVersionInfo(t *testing.T) {
OSImage: "ContainerOSVersion",
ContainerRuntimeVersion: "RuntimeType://RuntimeVersion",
KubeletVersion: version.Get().String(),
KubeProxyVersion: "",
},
},
},
kubeProxyVersion: false,
},
}
for _, tc := range cases {
t.Run(tc.desc, func(t *testing.T) {
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.DisableNodeKubeProxyVersion, !tc.kubeProxyVersion)
ctx := ktesting.Init(t)
versionInfoFunc := func() (*cadvisorapiv1.VersionInfo, error) {
return tc.versionInfo, tc.versionInfoError

View file

@ -3557,7 +3557,6 @@ func describeNode(node *corev1.Node, nodeNonTerminatedPodsList *corev1.PodList,
w.Write(LEVEL_0, " Architecture:\t%s\n", node.Status.NodeInfo.Architecture)
w.Write(LEVEL_0, " Container Runtime Version:\t%s\n", node.Status.NodeInfo.ContainerRuntimeVersion)
w.Write(LEVEL_0, " Kubelet Version:\t%s\n", node.Status.NodeInfo.KubeletVersion)
w.Write(LEVEL_0, " Kube-Proxy Version:\t%s\n", node.Status.NodeInfo.KubeProxyVersion)
// remove when .PodCIDR is deprecated
if len(node.Spec.PodCIDR) > 0 {

View file

@ -66,7 +66,7 @@
| DetectCacheInconsistency | :ballot_box_with_check: 1.34+ | | | 1.34 | | | | [code](https://cs.k8s.io/?q=%5CbDetectCacheInconsistency%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbDetectCacheInconsistency%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
| DisableAllocatorDualWrite | :ballot_box_with_check: 1.34+ | :closed_lock_with_key: 1.35+ | 1.311.32 | 1.33 | 1.34 | | MultiCIDRServiceAllocator | [code](https://cs.k8s.io/?q=%5CbDisableAllocatorDualWrite%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbDisableAllocatorDualWrite%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
| DisableCPUQuotaWithExclusiveCPUs | :ballot_box_with_check: 1.33+ | | | 1.33 | | | | [code](https://cs.k8s.io/?q=%5CbDisableCPUQuotaWithExclusiveCPUs%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbDisableCPUQuotaWithExclusiveCPUs%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
| DisableNodeKubeProxyVersion | :ballot_box_with_check: 1.33+ | | 1.291.30 | | | 1.31 | | [code](https://cs.k8s.io/?q=%5CbDisableNodeKubeProxyVersion%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbDisableNodeKubeProxyVersion%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
| DisableNodeKubeProxyVersion | :ballot_box_with_check: 1.33+ | :closed_lock_with_key: 1.36+ | 1.291.30 | | | 1.31 | | [code](https://cs.k8s.io/?q=%5CbDisableNodeKubeProxyVersion%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbDisableNodeKubeProxyVersion%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
| DynamicResourceAllocation | :ballot_box_with_check: 1.34+ | :closed_lock_with_key: 1.35+ | 1.261.31 | 1.321.33 | 1.34 | | | [code](https://cs.k8s.io/?q=%5CbDynamicResourceAllocation%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbDynamicResourceAllocation%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
| EnvFiles | :ballot_box_with_check: 1.35+ | | 1.34 | 1.35 | | | | [code](https://cs.k8s.io/?q=%5CbEnvFiles%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbEnvFiles%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
| EventedPLEG | | | 1.26 | | | | | [code](https://cs.k8s.io/?q=%5CbEventedPLEG%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbEventedPLEG%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |

View file

@ -473,6 +473,10 @@
lockToDefault: false
preRelease: Deprecated
version: "1.33"
- default: true
lockToDefault: true
preRelease: Deprecated
version: "1.36"
- name: DRAAdminAccess
versionedSpecs:
- default: false

View file

@ -1504,7 +1504,6 @@ metadata:
{"OS Image:"},
{"Container Runtime Version:"},
{"Kubelet Version:"},
{"Kube-Proxy Version:"},
{"Pods:"}}
checkOutput(output, requiredStrings)