Installing GitLab on Kubernetes
Note: These charts have been tested on Google Kubernetes Engine. Other Kubernetes installations may work as well, if not please open an issue.
The easiest method to deploy GitLab on Kubernetes is to take advantage of GitLab's Helm charts. Helm is a package management tool for Kubernetes, allowing apps to be easily managed via their Charts. A Chart is a detailed description of the application including how it should be deployed, upgraded, and configured.
Chart Overview
- GitLab Chart: The recommended GitLab chart, currently in beta. Supports large deployments with horizontal scaling of individual GitLab components, and does not require NFS.
- GitLab Runner Chart: For deploying just the GitLab Runner.
- Other Charts
- GitLab-Omnibus: Chart based on the Omnibus GitLab linux package, only suitable for small deployments. The chart will be deprecated by the GitLab chart when it is GA.
- Community Contributed Charts: Community contributed charts, deprecated by the official GitLab chart.
GitLab Chart
Note: This chart is beta, while we work on the remaining items for GA.
The best way to operate GitLab on Kubernetes. This chart contains all the required components to get started, and can scale to large deployments.
This chart offers a number of benefits:
- Horizontal scaling of individual components
- No requirement for shared storage to scale
- Containers do not need
root
permissions - Automatic SSL with Let's Encrypt
- and plenty more.
Learn more about the GitLab chart here and here [Video].
GitLab Runner Chart
If you already have a GitLab instance running, inside or outside of Kubernetes, and you'd like to leverage the Runner's Kubernetes capabilities, it can be deployed with the GitLab Runner chart.
Learn more about gitlab-runner chart.
Other Charts
GitLab-Omnibus Chart
Note: This chart is beta, and will be deprecated when the
gitlab
chart is GA.
It deploys and configures nearly all features of GitLab, including: a Runner, Container Registry, Mattermost, automatic SSL, and a load balancer. It is based on our GitLab Omnibus Docker Images.
Once the GitLab chart is GA, this chart will be deprecated. Migrating to the gitlab
chart will require exporting data out of this instance and importing it into a new deployment.
Learn more about the gitlab-omnibus chart.
Community Contributed Charts
The community has also contributed GitLab CE and EE charts to the Helm Stable Repository. These charts should be considered deprecated in favor of the official Charts.