正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

Installing GitLab by using Helm

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab Self-Managed

Install GitLab on Kubernetes by using the cloud native GitLab Helm chart.

Assuming you already have the prerequisites installed and configured, you can deploy GitLab with the helm command.

The GitLab Helm chart requires external PostgreSQL, Redis, and object storage. For production, follow the Cloud Native Hybrid reference architecture.

For a production deployment, you should have strong working knowledge of Kubernetes. This method of deployment has different management, observability, and concepts than traditional deployments.

In a production deployment:

  • PostgreSQL and Redis must run outside the cluster on PaaS or compute instances. This configuration is required to scale and reliably service the variety of workloads found in production GitLab environments.
  • You should use Cloud PaaS for PostgreSQL, Redis, and object storage for all non-Git repository storage.

If Kubernetes is not required for your GitLab instance, see the reference architectures for simpler alternatives.

Container images

The GitLab Helm chart uses the Cloud Native GitLab (CNG) container images to deploy GitLab. Besides the CNG images for GitLab itself, the default configuration uses MinIO for object storage in non-production deployments.

External PostgreSQL, Redis, and object storage are required. Refer to the following documentation for instructions on how to configure the chart to use external services.

  1. External Database
  2. External Redis
  3. External Object Storage

Configure the Helm chart to use external stateful data

Configure the chart to point to external object storage, Redis, PostgreSQL, and Gitaly services that match your selected reference architecture.

Use the reference architectures

The reference architecture for deploying GitLab instances to Kubernetes is called Cloud Native Hybrid specifically because not all GitLab services can run in the cluster for production-grade implementations. All stateful GitLab components must be deployed outside the Kubernetes cluster.

Available Cloud Native Hybrid reference architectures sizes are listed at Reference architectures page. For example, here is the Cloud Native Hybrid reference architecture for the 3,000 user count.

Use Infrastructure as Code (IaC) and builder resources

GitLab develops Infrastructure as Code that is capable of configuring the combination of Helm charts and supplemental cloud infrastructure:

Zero downtime upgrades

Zero-downtime upgrades allow you to upgrade GitLab without service interruptions. To enable this capability, you must configure rolling update strategies during your initial installation. If you add these settings to an existing deployment later, it will trigger pod restarts and may cause brief downtime.

Achieving zero downtime as part of an upgrade is notably difficult for any distributed application. The documentation has been tested as given against our HA reference architectures and resulted in effectively no observable downtime. However, be aware your mileage may vary dependent on the specific system makeup.

During the upgrade, users may temporarily experience UI inconsistencies or HTTP 404 errors for assets as requests route between pods running different versions, these issues typically resolve with a page refresh.

To configure your deployment for zero-downtime upgrades, be sure to include the rolling update settings from the Recommended deployment settings.

For complete upgrade procedures, see the Upgrade with zero downtime documentation.