Предварительная версия. Функциональность может измениться, но основные возможности сохранятся. Совместимость с будущими версиями может потребовать ручных действий по миграции.

Масштабирование основано на параметре CodeInstance scaling.targetUsercount — в зависимости от его значения модуль изменяет HPA, PDB, запросы/лимиты по CPU и памяти.

Внимание! Не рекомендуется использовать любые экземпляры “burstable” в облачной инфраструктуре из-за непостоянной производительности.

Архитектурная справка

10 Users

Простая инсталляция без HА-режима. Подходит для ознакомительного режима работы. В такой инсталляции мы не гарантируем отказоустойчивость или способность выдержать какую-то нагрузку

Таблица потребляемых ресурсов

Расчет приводится на базе ожидаемого количества пользователей

В таблице ниже приведены ресурсы, требуемые для развертывания 1 копии каждого компонента. При установке в режиме высокой доступности планируйте как минимум удвоенное количество ресурсов

Users/Component 100 300 500 1000
Webservice default 2CPU / 4Gb
2 воркера, 8 тредов
3CPU / 6Gb
3 воркера, 8 тредов
3CPU / 6Gb
3 воркера, 8 тредов
4CPU / 8Gb
4 воркера, 8 тредов
Webservice internal 2CPU / 4Gb
2 воркера, 8 тредов
2CPU / 4Gb
2 воркера, 8 тредов
2CPU / 4Gb
2 воркера, 8 тредов
2CPU / 4Gb
2 воркера, 8 тредов
Sidekiq 0.25CPU / 1.5Gb
1.5 CPU / 3Gb
0.25CPU / 1.5Gb
1.5CPU / 3Gb
0.25CPU / 1.5Gb
1.5CPU / 3Gb
0.25CPU / 1.5Gb
1.5CPU / 3Gb
Shell 0.01CPU / 24Mb
0.05 CPU / 128Mb
0.01CPU / 24Mb
0.05CPU / 128Mb
0.01CPU / 24Mb
0.05CPU / 128Mb
0.01CPU / 24Mb
0.05CPU / 128Mb
Toolbox 0.05CPU / 350Mb
1 CPU / 2Gb
0.05CPU / 350Mb
1CPU / 2Gb
0.05CPU / 350Mb
1CPU / 2Gb
0.05CPU / 350Mb
1CPU / 2Gb
Praefect 0.1CPU / 128Mb
0.3 CPU / 600Mb
0.1CPU / 128Mb
0.3CPU / 600Mb
0.1CPU / 128Mb
0.3CPU / 600Mb
0.1CPU / 128Mb
0.3CPU / 600Mb
Gitaly 1.5CPU / 2Gb
1.5CPU / 2Gb
1.5CPU / 2Gb
1.5CPU / 2Gb
1.5CPU / 2Gb
1.5CPU / 2Gb
2CPU / 4Gb
2CPU / 4Gb
MRA 0.5CPU / 250Mb
1CPU / 500Mb
0.5CPU / 250Mb
1CPU / 500Mb
0.5CPU / 250Mb
1CPU / 500Mb
0.5CPU / 250Mb
1CPU / 500Mb
Code-operator 0.02CPU / 128Mb
1CPU / 256Mb
0.02CPU / 128Mb
1CPU / 256Mb
0.02CPU / 128Mb
1CPU / 256Mb
0.02CPU / 128Mb
1CPU / 256Mb
Registry* 1 CPU/ 1Gb
1.5CPU / 2Gb
1CPU / 1Gb
1.5CPU / 2Gb
1 CPU/ 1Gb
1.5CPU / 2Gb
1CPU / 1Gb
1.5CPU / 2Gb
Pages* 0.9CPU / 1Gb
1.5CPU / 2Gb
0.9CPU / 1Gb
1.5CPU / 2Gb
0.9CPU / 1Gb
1.5CPU / 2Gb
0.9CPU / 1Gb
1.5CPU / 2Gb
Mailroom* 0.05CPU / 150Mb
0.25CPU / 0.5Gb
0.05CPU / 150Mb
0.25 CPU / 0.5Gb
0.05CPU / 150Mb
0.25CPU / 0.5Gb
0.05CPU / 150Mb
0.25CPU / 0.5Gb
HAProxy* 0.25CPU / 128Mb
0.5CPU / 256Mb
0.25CPU / 128Mb
0.5CPU / 256Mb
0.25CPU / 128Mb
0.5CPU / 256Mb
0.25CPU / 128Mb
0.5CPU / 256Mb
Всего(Мин компоненты) 7CPU / 13Gb
11CPU / 17Gb
8CPU / 15.5Gb
12CPU / 19.5Gb
8CPU / 15.5Gb
12CPU / 19.5Gb
9.5CPU / 17.5Gb
13CPU / 21.5Gb
Всего(Все компоненты) 9CPU / 15Gb
14CPU / 22Gb
10CPU / 17.5Gb
15CPU / 24Gb
10CPU / 17.5Gb
15CPU / 24Gb
11.5CPU / 19.5Gb
16CPU / 26Gb

Опциональные компоненты отмечены в таблице символом * Первая строка каждой ячейки отражает requests по ресурсам, вторая - limits

Настройка хранилища Git

Если вы видите непустую таблицу ‘OOM events’ в Grafana или срабатывающий алерт GitalyCgroupMemoryOOM в Prometheus, вероятно, вам нужно скорректировать ресурсы памяти и CPU для Gitaly. Увеличьте значения instanceSpec.gitData.resources в вашей конфигурации (например, установите память на 16Gi и CPU на 4). Примените изменения и наблюдайте за Gitaly.