gitlab-org--gitlab-foss/doc/install/kubernetes/index.md
Joshua Lambert 6449e5a696 Fix notes
2017-09-02 01:00:16 -04:00

4.3 KiB

Installing GitLab on Kubernetes

Officially supported cloud providers are Google Container Service and Azure Container Service.

The easiest method to deploy GitLab in 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.

GitLab provides official Helm Charts which are the recommended way to run GitLab within Kubernetes.

There are also two other sets of charts:

Official GitLab Helm Charts

These charts utilize our GitLab Omnibus Docker images. You can report any issues and feedback related to these charts at https://gitlab.com/charts/charts.gitlab.io/issues.

Deploying GitLab on Kubernetes

Note

: This chart will eventually be replaced by the cloud native charts, which are presently in development.

The best way to deploy GitLab on Kubernetes is to use the gitlab-omnibus chart.

It includes everything needed to run GitLab, including: a Runner, Container Registry, automatic SSL, and an Ingress. This chart is in beta while additional features are being completed.

Deploying just the GitLab Runner

To deploy just the GitLab Runner, utilize the gitlab-runner chart.

It offers a quick way to configure and deploy the Runner on Kubernetes, regardless of where your GitLab server may be running.

Advanced deployment of GitLab

Note

: This chart will be replaced by the gitlab-omnibus chart, once it supports additional configuration options.

If advanced configuration of GitLab is required, the beta gitlab chart can be used which deploys the GitLab service along with optional Postgres and Redis. It offers extensive configuration, but requires deep knowledge of Kubernetes and Helm to use.

For most deployments we recommend using our gitlab-omnibus chart.

Upcoming Cloud Native Helm Charts

GitLab is working towards a building a cloud native deployment method. A key part of this effort is to isolate each service into it's own Docker container and Helm chart, rather than utilizing the all-in-one container image of the current charts.

By offering individual containers and charts, we will be able to provide a number of benefits:

  • Easier horizontal scaling of each service
  • Smaller more efficient images
  • Potential for rolling updates and canaries within a service
  • and plenty more.

This is a large project and will be worked on over the span of multiple releases. For the most up to date status and release information, please see our tracking issue.

Community Contributed Helm Charts

The community has also contributed GitLab charts to the Helm Stable Repository. These charts should be considered deprecated in favor of the official Charts.