Новости

Новый уровень изоляции в dBrain: переход от неймспейсов к тенантам

Команда разработки dBrain.cloud реализовала в платформе контейнеризации мультитенантность. Теперь проекты разделяются не просто по неймспейсам, а по тенантам, обеспечивая полную изоляцию и разделение ресурсов.
Для реализации мультитенантности было недостаточно функциональности готовых решений, таких как Capsule. Команда разработала собственные контроллеры, чтобы полностью обеспечить потребности в мультитенантности.

В dBrain создаются пользовательские ресурсы (CRD) tenants, где определяются неймспейсы, владельцы, права доступа, а также настраиваются LimitRange и NodeSelector. Управление тенантами осуществляется самописным контроллером, который отслеживает изменения в CRD и применяет их к кластеру, настраивая RBAC и другие параметры.

Права доступа пользователей организованы через Keycloak, а для каждого тенанта создаются отдельные клиенты Grafana и пользователи с различными ролями. Несмотря на сложности в настройке Keycloak и документации, отказ от готовых решений позволил создать систему, обеспечивающую эффективное разделение ресурсов, изоляцию и гибкость в управлении проектами в Kubernetes.

Подробнее о запуске мультитенантности в dBrain читайте в нашем блоге на Хабре.