DEV Community

Cover image for 🚀 GITLAB ON KUBERNETES: The Ultimate Deployment Guide! 🌟

🚀 GITLAB ON KUBERNETES: The Ultimate Deployment Guide! 🌟

Philip Miglinci on November 29, 2023

TL;DR 🔍 Explore the step-by-step guide to deploying GitLab on Kubernetes, focusing on the Omnibus package configuration. Learn to set up...
Collapse
 
bcouetil profile image
Benoit COUETIL 💫

Omnibus HA on VMs should suffice for 99% of companies out there.

And you do not mention at all the official Helm Chart ? From the documentation and my own experience, it uses moderate resources :

A cluster with a total of at least eight virtual CPUs and 30GB of RAM is recommended.

Which is not more than your setup. In my experience, it is easier to install than your tutorial, with basically 2 helm commands :

helm repo add gitlab https://charts.gitlab.io/
helm install gitlab gitlab/gitlab \
  --set global.hosts.domain=DOMAIN \
  --set certmanager-issuer.email=me@example.com
Enter fullscreen mode Exit fullscreen mode

(You can go as hybrid as you want with it, but I see that your tutorial is not hybrid).

And where is your GitLab Pages server ?

Did I misunderstood your point ? Please enlighten me if so, I've the impression that you reinvented the wheel.

Collapse
 
pmig profile image
Philip Miglinci

Hi @bcouetil

Thanks for comment, let me clarify some of the points :-)

A cluster with a total of at least eight virtual CPUs and 30GB of RAM is recommended.
Which is not more than your setup.

Our setup easily fits in 4 GB of RAM and 2 vCPUs. (for around 20 Users and 1 runner) without the Kubernetes control plane overhead.

And where is your GitLab Pages server ?

That's a good point that we didn't addressed yet. I just created an issue and we are open to contributions: github.com/glasskube/operator/issu...

Did I misunderstood your point ? Please enlighten me if so, I've the impression that you reinvented the wheel.

Using helm for a quick start makes it super easy to get going, but maintenance will become super hard over time. Especially major PostgreSQL updates, configuring backups and deploying components to multiple (different) namespaces.

To address these issues we started Glasskube as a super easy way to deploy and operator deployments on Kubernetes as we can abstract a lot of that complexity with opinionated best practices.

What additional features do you miss for Glasskube, we are thinking about an installer / GUI already for a long time. And happy to get your input via a discusion / feature request. :-)

Collapse
 
bcouetil profile image
Benoit COUETIL 💫

Interesting, I will dig into that, thank you for the detailed answer 🙏

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

Nice article!

Collapse
 
nevodavid profile image
Nevo David

Awesome post!

Collapse
 
fernandezbaptiste profile image
Bap

Really cool write up, thanks for sharing!

Collapse
 
matijasos profile image
Matija Sosic

Good one! Kubernetes can be daunting to start with, so guides are like this are super valuable.