Kubernetes v1.36: Пользователь... Заметка
RSS Блог о Kubernetes

Kubernetes v1.36: Пользовательские пространства имен в Kubernetes наконец-то достигли статуса GA

В Kubernetes v1.36 появилась поддержка в режиме общей доступности (General Availability) для пространств имен пользователей (User Namespaces) — функции, доступной только в Linux, которая обеспечивает улучшенную изоляцию безопасности для контейнеризированных рабочих нагрузок. Эта долгожданная веха позволяет осуществлять изоляцию безопасности "без root" (rootless) для приложений Kubernetes. Важной возможностью является запуск рабочих нагрузок с привилегиями, но при этом ограниченных в пределах пространства имен пользователя, путем установки hostUsers: false. Это делает определенные возможности, такие как CAP_NET_ADMIN, пространственно-зависимыми, предоставляя административные права только на локальные ресурсы контейнера. Ранее процесс, являющийся root внутри контейнера, также был root на хосте, что представляло значительный риск безопасности при побеге из контейнера. Ключевым средством для этой функции являются монтирования с отображением идентификаторов (ID-mapped mounts), которые прозрачно переотображают UID и GID во время монтирования без изменения прав собственности на диске. Это решает проблемы производительности, связанные с обновлением прав собственности томов, которые омрачали ранние этапы разработки. Реализация пространств имен пользователей проста: установите hostUsers: false в спецификации Pod, что не требует изменений в образах контейнеров или сложной конфигурации. Функция использует тот же интерфейс, который был представлен на этапе Alpha. Это достижение является результатом многолетней межпроектной совместной работы между Kubernetes SIG Node, средами выполнения контейнеров и ядром Linux.