Kubernetes user namespaces вышли в GA и меняют модель безопасности контейнеров. Это снижает риск эскалации привилегий без усложнения конфигурации.
Проблема проявляется на уровне идентичности процессов. Контейнерный процесс с UID 0 остаётся root для ядра хоста. При уязвимости ядра или ошибке в mount это превращается в полный доступ к узлу. Текущие механизмы изоляции снижают поверхность атаки, но не меняют саму модель идентичности. Это ограничивает безопасное использование привилегий внутри контейнера.
Решение — Kubernetes user namespaces в статусе GA. При установке hostUsers: false под запускается в отдельном пространстве пользователей. Привилегии становятся namespaced. Например, CAP_NET_ADMIN даёт контроль только над ресурсами контейнера, а не хоста. Это компромисс: сохраняется возможность использовать привилегии, но границы их действия становятся локальными.
Ключевая инженерная сложность была не в API, а в файловой системе. Ранние реализации требовали рекурсивного chown томов при маппинге UID. Для больших volume это разрушало время старта и увеличивало нагрузку на IO. Проблему решают ID-mapped mounts из Linux 5.12+. Ядро выполняет трансляцию UID/GID на этапе монтирования. Для контейнера файлы выглядят как принадлежащие UID 0, но на диске ownership не меняется. Это операция O(1), без копирования и без массовых изменений метаданных.
С точки зрения эксплуатации внедрение минимально. Достаточно указать hostUsers: false в Pod spec. Образы контейнеров и пайплайны сборки не требуют изменений. Поведение остаётся совместимым с предыдущими фазами alpha и beta. Ограничение — поддержка только Linux, так как механизм зависит от возможностей ядра.
Результат — более безопасная модель выполнения без перехода к полностью привилегированным контейнерам. Сценарии, где раньше требовался privileged mode, теперь можно реализовать с локализованными правами. Это снижает риск lateral movement при компрометации. Количественные метрики в исходных данных не указаны, но ключевой эффект — устранение дорогостоящего chown и улучшение времени старта для stateful workloads.