Настройка лимитов организаций для пользователя
По умолчанию суммарное количество организаций в ролях, назначенных пользователю, не может превышать 50 000 с учетом дубликатов.
При необходимости вы можете увеличить данный лимит. Увеличение лимита включает в себя следующие этапы:
Определение необходимого лимита
Допустимый лимит организаций зависит от значения параметра proxy-body-size в ConfigMap контроллера ingress-nginx. Прежде чем изменять данный параметр, необходимо определить его нужное значение. Для этого:
-
Создайте пользователя и укажите для него необходимые роли с требуемыми организациями. Если лимит организаций будет превышен, произойдет ошибка сервера.
-
Если на предыдущем шаге произошла ошибка сервера, не закрывайте окно создания пользователя. Откройте панель инструментов разработчика в браузере.
Способ открытия панели инструментов разработчика зависит от браузера и ОС. Как правило, открыть панель можно с помощью клавиши F12. -
Перейдите на вкладку Network на панели инструментов разработчика.
-
Попробуйте еще раз создать пользователя, нажав на кнопку Добавить. На вкладке Network инструментов разработчика отобразится соответствующий GraphQL-запрос.
В столбце Status в строке запроса должен содержаться код ошибки 413, что означает слишком большую полезную нагрузку (Payload) запроса. -
Нажмите на GraphQL-запрос, отобразившийся на предыдущем шаге. В правой части панели отобразятся подробные сведения о запросе.
-
Перейдите на вкладку Payload в подробных сведениях о запросе и скопируйте Payload запроса.
-
Откройте консоль на панели инструментов разработчика и выполните в ней следующие команды:
const body = JSON.stringify(<request_payload>); const size = new Blob([body]).size; sizeЗдесь:
-
<request_payload>— полезная нагрузка (Payload) запроса, которая была скопирована на предыдущем шаге.
В результате выполнения команд в консоль будет выведено количество байтов, необходимых для выполнения GraphQL-запроса.
-
Увеличение лимита организаций
-
Подключитесь к терминалу master-узла кластера Kubernetes.
-
Измените ConfigMap контроллера ingress-nginx с помощью команды:
kubectl patch configmaps -n ingress-nginx ingress-nginx-controller -p '{"data": {"proxy-body-size": "<proxy_body_size>"}}'Здесь:
-
<proxy_body_size>— максимальный допустимый размер тела запроса Nginx. Задается в формате "число и единица измерения информации". По умолчанию установлено значение20m, соответствующее размеру в 20 МБ.Рекомендуемый размер
<proxy_body_size>для увеличения допустимых лимитов по организациям можно рассчитать по следующей формуле: 20 МБ (размер по умолчанию) + размер Payload запроса (увеличенный на 10% для запаса).Например, если размер Payload запроса, определенный на шаге Определение необходимого лимита, составил 10485760 байт (10 МБ), то рекомендуемый размер
<proxy_body_size>составляет 20 МБ + 10 МБ + 10% от 10 МБ = 31 МБ.В таком случае вместо
<proxy_body_size>в команду выше необходимо передать значение31m.
-
-
Перезапустите все поды, связанные с контроллером ingress-nginx, с помощью команды:
kubectl rollout restart deployment -n ingress-nginx -l app.kubernetes.io/instance=ingress-nginx
| В результате также будет изменен максимальный допустимый размер файлов, загружаемых в систему. |
Была ли полезна эта страница?