Skip to content

Commit 761f564

Browse files
authored
Merge pull request kubernetes#130138 from rata/userns-enabled-by-default
features: Enable user namespaces by default
2 parents 7b6c56e + 3b79268 commit 761f564

File tree

4 files changed

+14
-4
lines changed

4 files changed

+14
-4
lines changed

pkg/features/versioned_kube_features.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -808,6 +808,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
808808
UserNamespacesSupport: {
809809
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
810810
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
811+
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
811812
},
812813

813814
VolumeAttributesClass: {

pkg/kubelet/kubelet_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ import (
9797
"k8s.io/kubernetes/pkg/kubelet/sysctl"
9898
"k8s.io/kubernetes/pkg/kubelet/token"
9999
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
100+
"k8s.io/kubernetes/pkg/kubelet/userns"
100101
kubeletutil "k8s.io/kubernetes/pkg/kubelet/util"
101102
"k8s.io/kubernetes/pkg/kubelet/util/queue"
102103
kubeletvolume "k8s.io/kubernetes/pkg/kubelet/volumemanager"
@@ -371,6 +372,10 @@ func newTestKubeletWithImageList(
371372
ShutdownGracePeriodCriticalPods: 0,
372373
})
373374
kubelet.shutdownManager = shutdownManager
375+
kubelet.usernsManager, err = userns.MakeUserNsManager(kubelet)
376+
if err != nil {
377+
t.Fatalf("Failed to create UserNsManager: %v", err)
378+
}
374379
kubelet.admitHandlers.AddPodAdmitHandler(shutdownManager)
375380

376381
// Add this as cleanup predicate pod admitter

test/e2e_node/proc_mount_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ var _ = SIGDescribe("DefaultProcMount [LinuxOnly]", framework.WithNodeConformanc
4141
f.NamespacePodSecurityLevel = admissionapi.LevelBaseline
4242

4343
ginkgo.It("will mask proc mounts by default", func(ctx context.Context) {
44-
testProcMount(ctx, f, v1.DefaultProcMount, gomega.BeNumerically(">", 1), gomega.BeNumerically(">", 0))
44+
testProcMount(ctx, f, v1.DefaultProcMount, true, gomega.BeNumerically(">", 1), gomega.BeNumerically(">", 0))
4545
})
4646
})
4747

@@ -85,11 +85,11 @@ var _ = SIGDescribe("ProcMount [LinuxOnly]", feature.ProcMountType, feature.User
8585
if !supportsUserNS(ctx, f) {
8686
e2eskipper.Skipf("runtime does not support user namespaces")
8787
}
88-
testProcMount(ctx, f, v1.UnmaskedProcMount, gomega.Equal(1), gomega.BeZero())
88+
testProcMount(ctx, f, v1.UnmaskedProcMount, false, gomega.Equal(1), gomega.BeZero())
8989
})
9090
})
9191

92-
func testProcMount(ctx context.Context, f *framework.Framework, pmt v1.ProcMountType, expectedLines gomegatypes.GomegaMatcher, expectedReadOnly gomegatypes.GomegaMatcher) {
92+
func testProcMount(ctx context.Context, f *framework.Framework, pmt v1.ProcMountType, hostUsers bool, expectedLines gomegatypes.GomegaMatcher, expectedReadOnly gomegatypes.GomegaMatcher) {
9393
ginkgo.By("creating a target pod")
9494
podClient := e2epod.NewPodClient(f)
9595
pod := podClient.CreateSync(ctx, &v1.Pod{
@@ -106,7 +106,7 @@ func testProcMount(ctx context.Context, f *framework.Framework, pmt v1.ProcMount
106106
},
107107
},
108108
},
109-
HostUsers: &falseVar,
109+
HostUsers: &hostUsers,
110110
},
111111
})
112112

test/featuregates_linter/test_data/versioned_feature_list.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1520,6 +1520,10 @@
15201520
lockToDefault: false
15211521
preRelease: Beta
15221522
version: "1.30"
1523+
- default: true
1524+
lockToDefault: false
1525+
preRelease: Beta
1526+
version: "1.33"
15231527
- name: VolumeAttributesClass
15241528
versionedSpecs:
15251529
- default: false

0 commit comments

Comments
 (0)