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.