Skip to content
Cloud & DevOps · Cybersecurity · Kubernetes

Rootless Kubernetes Nodes:
What Beta Changes in 1.37

Published: 10 September 2026··12 min read

Rootless Kubernetes nodes run the kubelet, container runtime, CNI and other node components inside a Linux user namespace. They appear to have root privileges within that namespace, but the host maps those privileges to an unprivileged user. Kubernetes 1.37 promotes the supporting KubeletInUserNamespace feature gate to beta.

This change can reduce the impact of some container breakouts, but it does not turn an existing cluster rootless. Platform teams should treat the beta milestone as a reason to run a separate compatibility pilot, not as another upgrade checkbox. Networking, storage, privileged DaemonSets and a rehearsed route back to conventional nodes determine whether the additional boundary is operable.

Short answer: Treat rootless nodes in Kubernetes 1.37 as a new node class. Inventory host dependencies, build an isolated test pool, label and taint it, test representative workloads and failure modes, and retain conventional nodes as a controlled fallback. Beta means the feature is testable with stronger project evidence; it does not mean universal production compatibility.

What Kubernetes 1.37 actually changes for rootless nodes

The Kubernetes project’s 4 September 2026 announcement identifies three concrete steps: the feature gate is enabled by default, nodes expose their state through runningInUserNamespace, and Kubernetes CI now runs node conformance tests on a rootless cluster. That is meaningful maturity evidence.

The qualification beside it matters more: enabling the feature gate does not create a user namespace or move existing nodes. The surrounding environment must be prepared outside Kubernetes. The official administration guide calls for cgroup v2, a systemd user session, suitable /etc/subuid and /etc/subgid ranges, and a compatible container and OCI runtime stack.

Kubernetes Enhancement Proposal KEP-2033 sets an important operational boundary: the kubelet and the other node components must share the same user namespace. Rollout and rollback normally require node recreation. An in-place toggle on a busy node is therefore not a credible migration plan.

Node rootlessness and pod user namespaces solve different problems

ModelWhat runs without host rootKey verification point
Conventional node, non-root podThe workload process uses a defined UID; node components retain conventional privilegessecurityContext, capabilities and Pod Security Admission
Pod user namespaceOne pod uses hostUsers: false; kubelet and runtime may retain host rootFilesystem, volume and host-namespace compatibility per workload
Rootless nodeKubelet, CRI/OCI, CNI and other node components share a user namespacerunningInUserNamespace plus node-pool and infrastructure tests
Combined modelA rootless node plus separate user-ID ranges for individual podsNested isolation and end-to-end runtime and storage behaviour

The Kubernetes documentation for pod user namespaces describes hostUsers: false as a separate mechanism that has been stable since version 1.36. It maps root inside a container to an unprivileged host user. Rootless nodes act one layer lower by restricting the host privileges of the components that start pods, mount volumes and configure networks.

The two controls can reinforce each other, but neither replaces workload hardening or a clear cluster boundary. A process in a user namespace still shares the host kernel. The Kubernetes announcement explicitly says that user namespaces do not inherently mitigate kernel vulnerabilities. Seccomp, minimal Linux capabilities, network isolation, and AppArmor or SELinux remain relevant layers where the rootless stack supports them.

The security benefit stops at the kernel and host dependencies

The security objective is narrower than “the node is secure.” If an attacker escapes through a flaw in the kubelet, runtime or a container, the user namespace is intended to confine the resulting host access to an unprivileged account. Modifying the kernel, boot loader or firmware becomes materially harder. This is another damage-limitation layer, not proof that the intrusion was prevented.

Complexity moves into the integration layer. The official rootless administration page, last modified 2 August 2026, requires cgroup v2, describes external port forwarding for NodePorts and the kubelet port, and lists material caveats. Many non-local volume drivers, including NFS and iSCSI, do not work; some CNI plugins may not work, while Flannel with VXLAN is identified as a known working path. That list is not a guarantee for every version or configuration.

Critical boundary: A rootless node can remove exactly the host access that a storage, networking, monitoring or security agent expects. That is not a reason to reject the control. It is a reason to make compatibility a measurable product requirement before the cluster upgrade.

Build a dependency matrix before the pilot

Do not begin with a demo pod. Begin with every component that operates beyond ordinary container boundaries. For each component, record its purpose, required host resource, current privilege, expected rootless behaviour, verification case and fallback.

  1. Record the node baseline. Verify the Linux kernel, cgroup v2, systemd delegation, subordinate UID/GID ranges, and the CRI and OCI versions.
  2. Decompose the network path. List the CNI, kube-proxy mode, NodePorts, load-balancer integrations, DNS and Network Policies with their required host operations.
  3. Exercise storage, not just mounts. Test every CSI driver and volume class through provision, attach, mount, write load, snapshot, restore and node movement.
  4. Classify DaemonSets. Identify agents using hostNetwork, hostPID, hostPath, device files or privileged: true, then challenge every exception.
  5. Preserve operating signals. Validate logs, metrics, traces, node pressure, disk failures and alerting when /dev/kmsg or host paths are exposed differently.

This matrix turns a general security benefit into an auditable operating decision. The platform boundary belongs in a Cloud and DevOps scope with explicit operating responsibilities; host, runtime and workload threats belong in the cybersecurity design. ATMAN’s multicloud security control model also shows how to test the same outcome across different platforms.

Seven tests for a credible rootless Kubernetes pilot

  1. Create a separate node pool. Start with reproducible infrastructure and representative non-production workloads instead of converting existing nodes.
  2. Expose the actual state. Capture runningInUserNamespace, derive a controlled node label from it and document the label’s source.
  3. Deny scheduling by default. Use taints and explicit tolerations so incompatible DaemonSets and host-dependent workloads cannot land by accident.
  4. Run positive paths. Test deployment, scaling, restart, network traffic, Secrets, ConfigMaps, persistent data and observability under realistic load.
  5. Trigger failures. Interrupt the runtime, port forwarding, storage and node network. Confirm that alerts, eviction, rescheduling and recovery behave as designed.
  6. Prove the security boundary. Verify host UIDs, effective capabilities and prohibited host actions; a running pod alone does not prove reduced privilege.
  7. Rehearse rollback. Withdraw the pool, move workloads to conventional nodes, and restore data and network paths. Measure time and manual steps.

A successful pilot proves both that allowed workloads function and that unsuitable workloads fail predictably. Keep the first production scope for rootless Kubernetes nodes small, reversible and observable. Managed Kubernetes services can impose additional constraints, so verify the actual provider’s distribution, node image and support statement separately.

Frequently asked questions about rootless Kubernetes

Do Kubernetes nodes run rootless automatically in version 1.37?

No. The beta KubeletInUserNamespace feature gate is enabled by default, but it does not create a user namespace. Node components run rootless only when the surrounding environment is prepared and starts them inside that namespace.

Is a rootless node the same as a pod with hostUsers: false?

No. A rootless node moves the kubelet, container runtime, CNI and other node components into a user namespace. hostUsers: false isolates one pod while node components may still run with host-root privileges. The mechanisms can be combined.

Does rootless Kubernetes replace seccomp, AppArmor or SELinux?

No. User namespaces restrict many privileges against the host, but they do not inherently protect against vulnerabilities in the shared kernel. System and workload hardening, minimal capabilities, seccomp and suitable mandatory access controls remain necessary where the chosen stack supports them.

Are rootless Kubernetes nodes ready for production?

Kubernetes classifies the feature as beta, not generally available. Production use may be reasonable for compatible workloads, but it should start in a separate node pool with tested networking, storage, observability and rollback paths. Support from the actual distribution and platform must be checked separately.

Sources and methodology

The Kubernetes sources establish the feature state, mechanism, prerequisites and known limitations. The comparison matrix, pilot sequence and decision criteria are ATMAN analysis. They do not replace a compatibility statement from a Kubernetes distribution or verification of the actual cluster, kernel, networking and storage stack.

Can your Kubernetes stack support a rootless node class?

ATMAN supports infrastructure boundaries, reproducible node pools, compatibility tests, observability and safe rollback paths for cloud platforms.

Cloud & DevOps at ATMAN

Assess a Kubernetes pilot →