The values below size a Deckhouse Code Helm release for the expected number of users. Each size has a standalone variant and a high availability variant. In the standalone variant every component runs one replica. In the high availability variant every component runs at least two replicas and Praefect runs three; HorizontalPodAutoscaler objects add replicas under CPU load, PodDisruptionBudget objects keep pods available while nodes are drained, and each of the two Gitaly pods holds a full copy of every repository (see Git storage).
The gitlab.gitlab-pages and registry values take effect once Pages and the container registry are enabled; both are disabled by default (see Container registry and Pages).
Applying the values
Save the chosen variant to a file, for example scaling.yaml, and pass it to the install command after the values file of the installation. Helm merges the files in the order of the -f flags, and a key set in several files takes the value from the last one:
helm upgrade --install code oci://<CHART_REGISTRY>/code \
--version <CHART_VERSION> \
-n code --create-namespace \
-f values.yaml \
-f scaling.yamlvalues.yaml is the values file of the installation from Quick start. The same command resizes a running release: the pods of the components whose values changed are recreated.
300 users
Values for 300 users:
- Standalone
- High availability
global:
codeHelm:
loadbalancer:
resources:
limits:
cpu: 500m
memory: 256Mi
requests:
cpu: 250m
memory: 128Mi
gitlab:
webservice:
workerProcesses: 4
puma:
threads:
min: 8
max: 8
resources:
limits:
memory: 7G
requests:
cpu: 4
memory: 7G
gitlab-shell:
resources:
limits:
cpu: 500m
memory: 600M
requests:
cpu: 10m
memory: 24M
gitlab-pages:
resources:
limits:
cpu: 1500m
memory: 2G
requests:
cpu: 900m
memory: 1G
gitaly:
resources:
limits:
cpu: 1500m
memory: 2Gi
requests:
cpu: 1500m
memory: 2Gi
cgroups:
memoryBytes: 2147483648
cpuQuotaUs: 150000
repositories:
memoryBytes: 1073741824
cpuQuotaUs: 75000
praefect:
resources:
limits:
cpu: 300m
memory: 600Mi
requests:
cpu: 100m
memory: 128Miglobal:
codeHelm:
loadbalancer:
replicas: 2
resources:
limits:
cpu: 500m
memory: 256Mi
requests:
cpu: 250m
memory: 128Mi
pdb:
enabled: true
praefect:
virtualStorages:
- name: default
gitalyReplicas: 2
maxUnavailable: 1
gitlab:
webservice:
workerProcesses: 3
puma:
threads:
min: 8
max: 8
resources:
limits:
memory: 5500Mi
requests:
cpu: 3
memory: 5500Mi
hpa:
enabled: true
cpu:
targetAverageValue: 1
minReplicas: 2
sidekiq:
hpa:
enabled: true
cpu:
targetAverageValue: 350m
minReplicas: 2
gitlab-shell:
resources:
limits:
cpu: 500m
memory: 600M
requests:
cpu: 10m
memory: 24M
hpa:
enabled: true
cpu:
targetAverageValue: 100m
minReplicas: 2
gitlab-pages:
resources:
limits:
cpu: 1500m
memory: 2G
requests:
cpu: 900m
memory: 1G
hpa:
enabled: true
minReplicas: 2
cpu:
targetAverageValue: 100m
gitaly:
resources:
limits:
cpu: 1500m
memory: 2Gi
requests:
cpu: 1500m
memory: 2Gi
cgroups:
memoryBytes: 2147483648
cpuQuotaUs: 150000
repositories:
memoryBytes: 1073741824
cpuQuotaUs: 75000
praefect:
replicas: 3
resources:
limits:
cpu: 300m
memory: 600Mi
requests:
cpu: 100m
memory: 128Mi
registry:
hpa:
enabled: true
minReplicas: 2
cpu:
targetAverageUtilization: 75500 users
Values for 500 users:
- Standalone
- High availability
global:
codeHelm:
loadbalancer:
resources:
limits:
cpu: 500m
memory: 256Mi
requests:
cpu: 250m
memory: 128Mi
gitlab:
webservice:
workerProcesses: 4
puma:
threads:
min: 8
max: 8
resources:
limits:
memory: 7G
requests:
cpu: 4
memory: 7G
gitlab-shell:
resources:
limits:
cpu: 500m
memory: 600M
requests:
cpu: 10m
memory: 24M
gitlab-pages:
resources:
limits:
cpu: 1500m
memory: 2G
requests:
cpu: 900m
memory: 1G
gitaly:
resources:
limits:
cpu: 1500m
memory: 2Gi
requests:
cpu: 1500m
memory: 2Gi
cgroups:
memoryBytes: 2147483648
cpuQuotaUs: 150000
repositories:
memoryBytes: 1073741824
cpuQuotaUs: 75000
praefect:
resources:
limits:
cpu: 300m
memory: 600Mi
requests:
cpu: 100m
memory: 128Miglobal:
codeHelm:
loadbalancer:
replicas: 2
resources:
limits:
cpu: 500m
memory: 256Mi
requests:
cpu: 250m
memory: 128Mi
pdb:
enabled: true
praefect:
virtualStorages:
- name: default
gitalyReplicas: 2
maxUnavailable: 1
gitlab:
webservice:
workerProcesses: 4
puma:
threads:
min: 8
max: 8
resources:
limits:
memory: 7G
requests:
cpu: 4
memory: 7G
hpa:
enabled: true
cpu:
targetAverageValue: 1
minReplicas: 2
sidekiq:
hpa:
enabled: true
cpu:
targetAverageValue: 350m
minReplicas: 2
gitlab-shell:
resources:
limits:
cpu: 500m
memory: 600M
requests:
cpu: 10m
memory: 24M
hpa:
enabled: true
cpu:
targetAverageValue: 100m
minReplicas: 2
gitlab-pages:
resources:
limits:
cpu: 1500m
memory: 2G
requests:
cpu: 900m
memory: 1G
hpa:
enabled: true
minReplicas: 2
cpu:
targetAverageValue: 100m
gitaly:
resources:
limits:
cpu: 1500m
memory: 2Gi
requests:
cpu: 1500m
memory: 2Gi
cgroups:
memoryBytes: 2147483648
cpuQuotaUs: 150000
repositories:
memoryBytes: 1073741824
cpuQuotaUs: 75000
praefect:
replicas: 3
resources:
limits:
cpu: 300m
memory: 600Mi
requests:
cpu: 100m
memory: 128Mi
registry:
hpa:
enabled: true
minReplicas: 2
cpu:
targetAverageUtilization: 751000 users
Values for 1000 users:
- Standalone
- High availability
global:
codeHelm:
loadbalancer:
resources:
limits:
cpu: 500m
memory: 256Mi
requests:
cpu: 250m
memory: 128Mi
gitlab:
webservice:
workerProcesses: 6
puma:
threads:
min: 8
max: 8
resources:
limits:
memory: 10G
requests:
cpu: 6
memory: 10G
sidekiq:
resources:
limits:
memory: 3G
requests:
cpu: 1
memory: 1500Mi
gitlab-shell:
resources:
limits:
cpu: 500m
memory: 600Mi
requests:
cpu: 32m
memory: 50Mi
gitlab-pages:
resources:
limits:
cpu: 1500m
memory: 2G
requests:
cpu: 900m
memory: 1G
gitaly:
resources:
limits:
cpu: 2000m
memory: 4000Mi
requests:
cpu: 2000m
memory: 4000Mi
cgroups:
memoryBytes: 4194304000
cpuQuotaUs: 200000
repositories:
memoryBytes: 2097152000
cpuQuotaUs: 100000
praefect:
resources:
limits:
cpu: 300m
memory: 600Mi
requests:
cpu: 100m
memory: 128Miglobal:
codeHelm:
loadbalancer:
replicas: 2
resources:
limits:
cpu: 500m
memory: 256Mi
requests:
cpu: 250m
memory: 128Mi
pdb:
enabled: true
praefect:
virtualStorages:
- name: default
gitalyReplicas: 2
maxUnavailable: 1
gitlab:
webservice:
workerProcesses: 5
puma:
threads:
min: 8
max: 8
resources:
limits:
memory: 8500Mi
requests:
cpu: 5
memory: 8500Mi
hpa:
enabled: true
cpu:
targetAverageValue: 1200m
minReplicas: 2
maxReplicas: 4
maxUnavailable: 2
sidekiq:
resources:
limits:
memory: 2G
requests:
cpu: 1
memory: 1500Mi
hpa:
enabled: true
cpu:
targetAverageValue: 600m
minReplicas: 2
maxReplicas: 4
maxUnavailable: 1
gitlab-shell:
resources:
limits:
cpu: 500m
memory: 600Mi
requests:
cpu: 32m
memory: 50Mi
hpa:
enabled: true
cpu:
targetAverageValue: 100m
minReplicas: 2
maxReplicas: 4
maxUnavailable: 1
gitlab-pages:
resources:
limits:
cpu: 1500m
memory: 2G
requests:
cpu: 900m
memory: 1G
hpa:
enabled: true
minReplicas: 2
maxReplicas: 3
cpu:
targetAverageValue: 100m
maxUnavailable: 1
gitaly:
resources:
limits:
cpu: 2000m
memory: 4000Mi
requests:
cpu: 2000m
memory: 4000Mi
cgroups:
memoryBytes: 4194304000
cpuQuotaUs: 200000
repositories:
memoryBytes: 2097152000
cpuQuotaUs: 100000
praefect:
replicas: 3
resources:
limits:
cpu: 300m
memory: 600Mi
requests:
cpu: 100m
memory: 128Mi
registry:
hpa:
enabled: true
minReplicas: 2
maxReplicas: 3
cpu:
targetAverageUtilization: 75
maxUnavailable: 23000 users
Values for 3000 users:
- Standalone
- High availability
global:
codeHelm:
loadbalancer:
resources:
limits:
cpu: 1000m
memory: 512Mi
requests:
cpu: 500m
memory: 256Mi
gitlab:
webservice:
workerProcesses: 8
puma:
threads:
min: 8
max: 8
resources:
limits:
memory: 13G
requests:
cpu: 8
memory: 13G
sidekiq:
resources:
limits:
memory: 3G
requests:
cpu: 1
memory: 1500Mi
gitlab-shell:
resources:
limits:
cpu: 500m
memory: 600Mi
requests:
cpu: 32m
memory: 50Mi
gitlab-pages:
resources:
limits:
memory: 3G
requests:
cpu: 900m
memory: 1G
gitaly:
resources:
limits:
cpu: 6000m
memory: 16000Mi
requests:
cpu: 6000m
memory: 16000Mi
cgroups:
memoryBytes: 16777216000
cpuQuotaUs: 600000
repositories:
memoryBytes: 8388608000
cpuQuotaUs: 300000
praefect:
resources:
limits:
cpu: 600m
memory: 1200Miglobal:
codeHelm:
loadbalancer:
replicas: 2
resources:
limits:
cpu: 1000m
memory: 512Mi
requests:
cpu: 500m
memory: 256Mi
hpa:
enabled: true
minReplicas: 2
maxReplicas: 3
cpuUtilization: 80
memoryUtilization: 80
pdb:
enabled: true
praefect:
virtualStorages:
- name: default
gitalyReplicas: 2
maxUnavailable: 1
gitlab:
webservice:
workerProcesses: 6
puma:
threads:
min: 8
max: 8
resources:
limits:
memory: 10G
requests:
cpu: 6
memory: 10G
hpa:
enabled: true
cpu:
targetAverageValue: 1600m
minReplicas: 2
maxReplicas: 4
maxUnavailable: 2
sidekiq:
resources:
limits:
memory: 3G
requests:
cpu: 1
memory: 1500Mi
hpa:
enabled: true
cpu:
targetAverageValue: 700m
minReplicas: 4
maxReplicas: 8
maxUnavailable: 1
gitlab-shell:
resources:
limits:
cpu: 500m
memory: 600Mi
requests:
cpu: 32m
memory: 50Mi
hpa:
enabled: true
cpu:
targetAverageValue: 1600m
minReplicas: 3
maxReplicas: 6
maxUnavailable: 1
gitlab-pages:
resources:
limits:
memory: 3G
requests:
cpu: 900m
memory: 1G
hpa:
enabled: true
minReplicas: 2
maxReplicas: 6
cpu:
targetAverageValue: 100m
maxUnavailable: 1
gitaly:
resources:
limits:
cpu: 6000m
memory: 16000Mi
requests:
cpu: 6000m
memory: 16000Mi
cgroups:
memoryBytes: 16777216000
cpuQuotaUs: 600000
repositories:
memoryBytes: 8388608000
cpuQuotaUs: 300000
praefect:
replicas: 3
resources:
limits:
cpu: 600m
memory: 1200Mi
registry:
hpa:
enabled: true
minReplicas: 3
maxReplicas: 5
cpu:
targetAverageUtilization: 75
maxUnavailable: 35000 users
Values for 5000 users:
- Standalone
- High availability
global:
codeHelm:
loadbalancer:
resources:
limits:
cpu: 1500m
memory: 1Gi
requests:
cpu: 750m
memory: 512Mi
gitlab:
webservice:
workerProcesses: 10
puma:
threads:
min: 8
max: 8
resources:
limits:
memory: 16G
requests:
cpu: 10
memory: 16G
sidekiq:
resources:
limits:
memory: 3G
requests:
cpu: 1
memory: 1500Mi
gitlab-shell:
resources:
limits:
cpu: 384m
memory: 250Mi
requests:
cpu: 32m
memory: 50Mi
gitlab-pages:
resources:
limits:
memory: 4G
requests:
cpu: 900m
memory: 2G
gitaly:
resources:
limits:
cpu: 6000m
memory: 16000Mi
requests:
cpu: 6000m
memory: 16000Mi
cgroups:
memoryBytes: 16777216000
cpuQuotaUs: 600000
repositories:
memoryBytes: 8388608000
cpuQuotaUs: 300000
praefect:
resources:
limits:
cpu: 600m
memory: 1200Miglobal:
codeHelm:
loadbalancer:
replicas: 3
resources:
limits:
cpu: 1500m
memory: 1Gi
requests:
cpu: 750m
memory: 512Mi
hpa:
enabled: true
minReplicas: 3
maxReplicas: 4
cpuUtilization: 80
memoryUtilization: 80
pdb:
enabled: true
praefect:
virtualStorages:
- name: default
gitalyReplicas: 2
maxUnavailable: 1
gitlab:
webservice:
workerProcesses: 8
puma:
threads:
min: 8
max: 8
resources:
limits:
memory: 13G
requests:
cpu: 8
memory: 13G
hpa:
enabled: true
cpu:
targetAverageValue: 1600m
minReplicas: 2
maxReplicas: 5
maxUnavailable: 1
sidekiq:
resources:
limits:
memory: 3G
requests:
cpu: 1
memory: 1500Mi
hpa:
enabled: true
cpu:
targetAverageValue: 700m
minReplicas: 6
maxReplicas: 12
maxUnavailable: 1
gitlab-shell:
resources:
limits:
cpu: 384m
memory: 250Mi
requests:
cpu: 32m
memory: 50Mi
hpa:
enabled: true
cpu:
targetAverageValue: 100m
minReplicas: 6
maxReplicas: 12
maxUnavailable: 2
gitlab-pages:
resources:
limits:
memory: 4G
requests:
cpu: 900m
memory: 2G
hpa:
enabled: true
minReplicas: 2
maxReplicas: 6
cpu:
targetAverageValue: 100m
maxUnavailable: 1
gitaly:
resources:
limits:
cpu: 6000m
memory: 16000Mi
requests:
cpu: 6000m
memory: 16000Mi
cgroups:
memoryBytes: 16777216000
cpuQuotaUs: 600000
repositories:
memoryBytes: 8388608000
cpuQuotaUs: 300000
praefect:
replicas: 3
resources:
limits:
cpu: 600m
memory: 1200Mi
registry:
hpa:
enabled: true
minReplicas: 4
maxReplicas: 8
cpu:
targetAverageUtilization: 75
maxUnavailable: 4