GitLab Self-Hosted on Kubernetes - Installation Guide
Hello everyone from Hepapi. Today, we will discuss GitLab Self-Hosted on Kubernetes. We are in an era where DevOps automation and containerized applications play a crucial role in software development. Deploying and managing a self-hosted GitLab instance on Kubernetes provides scalability, flexibility, and security for your CI/CD pipelines. Compared to traditional single-node installations, a Kubernetes-based deployment ensures high availability and resilience. However, managing such deployments manually can be complex and time-consuming. Thanks to GitLab Helm Charts, we can simplify the installation and configuration process while maintaining consistency and reusability across different environments.
In our modern development landscape, where applications are increasingly built as microservices, deploying GitLab in a self-hosted environment provides a robust and scalable solution for your DevOps needs. Instead of wrestling with complex installation procedures, this guide simplifies the process into clear, modular steps—from adding the GitLab Helm repository to installing GitLab with your custom configurations, and finally verifying the deployment. With this streamlined approach, you can quickly harness GitLab’s powerful features for continuous integration and delivery while keeping your setup clean and maintainable.
1. Add the GitLab Helm Repository
First, add the official GitLab Helm repository and update your local Helm chart list:
2. Install GitLab with Helm
To install GitLab on your Kubernetes cluster using Helm, run:
helm install gitlab gitlab/gitlab \
--set global.hosts.domain=example.com \
--set certmanager-issuer.email=me@example.com
Using an Existing Cert-Manager
If you already have Cert-Manager installed in your cluster, disable its installation by adding:
Disabling runner install
If you want to install gitlab-runner seperately you can disable runner install with:
You can checkout all deployment options from here.
3. Verify the Deployment
Check if the GitLab pods are running with:
4. Retrieve the GitLab Root Password
To get the initial GitLab root password, use the following command:
kubectl get secret gitlab-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode ; echo