OpenShift User Namespaces voor Iedereen

In het verleden hebben wij op dit kanaal al naar OpenShift User Namespaces gekeken, toen ze in versie 4.17 voor het eerst als Technology Preview (TP) verschenen. Toen moest je als admin nog door wat hoepeltjes heenspringen: Een FeatureGate activeren waardoor je cluster niet meer kon updaten, de container engine omzetten naar crun, en wat ander kunst en vliegwerk.

Nu, met OpenShift 4.20, is de feature General Availability (GA) geworden, en kan iedereen het gebruiken. Dit is goed, en mooi, en wat meer superlatieven, maar Wander heeft er nog steeds wat commentaar op.

OpenShift Root zonder Root

Met de release van OpenShift 4.17 is er een feature in Technology Preview gekomen waar Wander al heel lang op zat te wachten: User Namespaces.

User Namespaces hebben niks te maken met Kubernetes Namespaces, maar met Linux Kernel Namespaces. Met User Namespaces kan een container een ander idee hebben van wat user ids zijn dan het onderliggende OS. Zo kan een proces in een container denken root te zijn, en alle rechten hebben (binnen de container) die daarbij horen, maar buiten de container stiekem een ander UID hebben. Dit is hetzelfde principe als met Rootless Podman, maar nu beschikbaar (als beta) op Kubernetes, en dus ook op OpenShift.

Met deze feature hoeven cluster beheerders minder vaak uitzonderingen te maken voor onder andere COTS applicaties door toegang to verlenen tot de anyuid of nonroot Security Context Constraints (SCC), wat kan leiden tot een beter security posture.