- Introduction
- Limitations
- GitLab version mappings
- List of charts
- Global settings
- Installing GitLab using the Helm Chart
- Updating GitLab using the Helm Chart
- Uninstalling GitLab using the Helm Chart
- Migrate from Omnibus GitLab to Kubernetes
- Advanced configuration
- Troubleshooting
- Contributing
- Misc
GitLab cloud native Helm Chart
This is the official and recommended way to install GitLab on a cloud native environment.
Do note that it is not necessary to have GitLab installed on Kubernetes in order to use the GitLab Kubernetes integration.
Introduction
The gitlab
chart is the best way to operate GitLab on Kubernetes. This chart
contains all the required components to get started, and can scale to large deployments.
The default deployment includes:
- Core GitLab components: Unicorn, Shell, Workhorse, Registry, Sidekiq, and Gitaly
- Optional dependencies: Postgres, Redis, Minio
- An auto-scaling, unprivileged GitLab Runner using the Kubernetes executor
- Automatically provisioned SSL via Let’s Encrypt.
There are also some example values.yaml files.
Limitations
Some features of GitLab are not currently available using the Helm chart:
Database limitations:
- MySQL will not be supported, as support is deprecated within GitLab
- Support is only available for Postgres 9.6. Backup and restore will not work with other versions.
GitLab version mappings
The GitLab chart doesn’t have the same version number as GitLab itself. Breaking changes are anticipated that may need to be introduced to the chart that would warrant a major version bump, and the requirement for these changes could completely block other development on these charts until completed.
To quickly see the full list of the gitlab
chart versions and the GitLab version
they map to, issue the following command with helm:
helm repo add gitlab https://charts.gitlab.io/
helm search -l gitlab/gitlab
For more information, visit the version mappings docs.
List of charts
The main GitLab chart is based on a variety of other charts. Each sub-chart is documented individually, and laid in a structure that matches the charts directory structure.
Non-GitLab components are packaged and documented on the top level. GitLab component services are documented under the GitLab chart:
- NGINX
- Redis
- Minio
- Registry
- GitLab/sidekiq
- GitLab/gitlab-shell
- GitLab/gitaly
- GitLab/unicorn
- GitLab/migrations
Global settings
There are some common global settings that apply to multiple charts. See the Globals documentation for details on the different global configuration.
Installing GitLab using the Helm Chart
The gitlab
chart includes all required dependencies, and takes a few minutes
to deploy:
Updating GitLab using the Helm Chart
Once your GitLab Chart is installed, configuration changes and chart updates
should be done using helm upgrade
:
helm repo add gitlab https://charts.gitlab.io/
helm repo update
helm get values gitlab > gitlab.yaml
helm upgrade gitlab gitlab/gitlab -f gitlab.yaml
For more detailed information see Upgrading.
Uninstalling GitLab using the Helm Chart
To uninstall the GitLab Chart, run the following:
helm delete gitlab
Migrate from Omnibus GitLab to Kubernetes
To migrate your existing Omnibus GitLab instance to your Kubernetes cluster, follow the migration documentation.
Advanced configuration
Troubleshooting
See Troubleshooting.
Contributing
See the developer documentation to learn how to contribute to the GitLab charts.
Help and feedback
If there's something you don't like about this feature
To propose functionality that GitLab does not yet offer
To further help GitLab in shaping new features
If you didn't find what you were looking for
If you want help with something very specific to your use case, and can use some community support
POST ON GITLAB FORUM
If you have problems setting up or using this feature (depending on your GitLab subscription)
REQUEST SUPPORT
To view all GitLab tiers and features or to upgrade
If you want to try all features available in GitLab.com
If you want to try all features available in GitLab self-managed
If you spot an error or a need for improvement and would like to fix it yourself in a merge request
EDIT THIS PAGE
If you would like to suggest an improvement to this doc