Currently I am running the whole gitlab EE as a single container. I need to scale out the service so that it can support more users and more operations/pull/push/Merge Requests etc simultanously.
I need to run a redis cluster of its own
I need to run a PG cluster separate
I need to integrate elasticsearch for search
But how can I scale out the remaning core gitlab services. Do they support a scale out architecture.
- gitlab workhorse
- unicorn ( gitlab rails )
- sidekiq ( gitlab rails )
- gitaly
- gitlab shell
Not exactly, considering the GitLab Omnibus image is one package with bundled dependencies.
But I never experienced so much traffic that it needed to be split up and scaled out.
There is though a proposal for splitting up the Omnibus image:
gitlab-org/omnibus-gitlab
issue 1800.It points out to
gitlab-org/build/CNG
which does just what you are looking for:The other option, using Kubernetes, is the
charts/gitlab
:Update Sept. 2020:
GitLab 13.4 offers one feature which can help scaling out GitLab on-premise: