Není to nijak extra složité, GitLab je na to připravený - mělo by stačit vhodně nastavit role pro jednotlivé servery - https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template#L34 a k tomu samozřejmě správné adresy těch ostatních služeb (tam kde jsou potřeba).
Provozoval jsem takhle jednu instanci GitLabu na desítkách serverů. Deployment jsem dělal ansiblem.