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

Для реализации мультитенантности было недостаточно функциональности готовых решений, таких как Capsule. Команда разработала собственные контроллеры, чтобы полностью обеспечить потребности в мультитенантности.
В dBrain создаются пользовательские ресурсы (CRD) tenants, где определяются неймспейсы, владельцы, права доступа, а также настраиваются LimitRange и NodeSelector. Управление тенантами осуществляется самописным контроллером, который отслеживает изменения в CRD и применяет их к кластеру, настраивая RBAC и другие параметры.
Права доступа пользователей организованы через Keycloak, а для каждого тенанта создаются отдельные клиенты Grafana и пользователи с различными ролями. Несмотря на сложности в настройке Keycloak и документации, отказ от готовых решений позволил создать систему, обеспечивающую эффективное разделение ресурсов, изоляцию и гибкость в управлении проектами в Kubernetes.
Подробнее о запуске мультитенантности в dBrain читайте в нашем блоге на Хабре.
В dBrain создаются пользовательские ресурсы (CRD) tenants, где определяются неймспейсы, владельцы, права доступа, а также настраиваются LimitRange и NodeSelector. Управление тенантами осуществляется самописным контроллером, который отслеживает изменения в CRD и применяет их к кластеру, настраивая RBAC и другие параметры.
Права доступа пользователей организованы через Keycloak, а для каждого тенанта создаются отдельные клиенты Grafana и пользователи с различными ролями. Несмотря на сложности в настройке Keycloak и документации, отказ от готовых решений позволил создать систему, обеспечивающую эффективное разделение ресурсов, изоляцию и гибкость в управлении проектами в Kubernetes.
Подробнее о запуске мультитенантности в dBrain читайте в нашем блоге на Хабре.