User Namespaces — одна из самых значимых функций безопасности Kubernetes последних лет, но её работа гораздо сложнее, чем может показаться на первый взгляд. В статье User Namespaces in Kubernetes, Part III: The Implementation подробно разбирается, как kubelet, CRI и OCI Runtime совместно создают отдельные user namespace для каждого Pod и управляют UID/GID.
Автор также объясняет, как Kubernetes резервирует диапазоны идентификаторов, хранит их состояние и предотвращает конфликты между Pod'ами. Отдельное внимание уделено интеграции с idmapped mounts, благодаря которой User Namespaces работают с томами без изменения владельцев файлов.
Это отличный материал для тех, кто хочет разобраться не только в использовании User Namespaces, но и понять, какие изменения потребовались внутри Kubernetes для реализации этой функции и почему она так долго находилась в разработке.
Автор также объясняет, как Kubernetes резервирует диапазоны идентификаторов, хранит их состояние и предотвращает конфликты между Pod'ами. Отдельное внимание уделено интеграции с idmapped mounts, благодаря которой User Namespaces работают с томами без изменения владельцев файлов.
Это отличный материал для тех, кто хочет разобраться не только в использовании User Namespaces, но и понять, какие изменения потребовались внутри Kubernetes для реализации этой функции и почему она так долго находилась в разработке.