Required tools

Before deploying GitLab to your Kubernetes cluster, there are some tools you must have installed locally.

kubectl

kubectl is the tool that talks to the Kubernetes API. kubectl 1.16 or higher is required and it needs to be compatible with your cluster (+/- 1 minor release from your cluster).

> Install kubectl locally by following the Kubernetes documentation.

Connecting to a Kubernetes cluster

Ensure that you are able to connect to a Kubernetes cluster by running kubectl version and confirming that both Client and Server versions are returned. Below are instructions for connecting kubectl to common Kubernetes platforms.

GKE

The command to connect to the cluster can be obtained from the Google Cloud Platform Console by the individual cluster, by looking for the Connect button in the clusters list page.

Alternatively, use the command below, filling in your cluster’s information:

gcloud container clusters get-credentials <cluster-name> --zone <zone> --project <project-id>

EKS

For the most up to date instructions, follow the Amazon EKS documentation on connecting to a cluster.

minikube

If you are doing local development, you can use minikube as your local cluster. If kubectl cluster-info is not showing minikube as the current cluster, use kubectl config set-cluster minikube to set the active cluster.

Helm

Helm is the package manager for Kubernetes. The gitlab chart is tested and supported with Helm v3 (3.3.1 or higher required).

Install Helm by picking one of the options listed under the official Helm documentation.

Next steps

Once kubectl and Helm are configured, you can continue to configuring your Kubernetes cluster.

Additional information

The Distribution Team has a training presentation for Helm Charts.

Templates

Templating in Helm is done via golang’s text/template and sprig.

Some information on how all the inner workings behave:

Tips and tricks

Helm repository has some additional information on developing with Helm in its tips and tricks section.