Skip to content

Creating a new GKE cluster

The following is a high level guide on what it takes to build out the necessary bits for adding GKE and bringing over components of GitLab into Kubernetes.

Our current application configuration components:

For GitLab.com there is a regional cluster and multiple zonal clusters to service traffic for each environment. This document covers how to build a new cluster, note that currently this procedure is not automated and may take hours to complete.

ArgoCD manages workloads on the cluster from https://gitlab.com/gitlab-com/gl-infra/argocd/apps; it discovers clusters via Secrets stored in https://gitlab.com/gitlab-com/gl-infra/argocd/config.

To onboard the new cluster, follow How to onboard a GKE cluster into ArgoCD.

  • Go to the runbooks CI jobs, find the latest green pipeline on our default branch, then find the job associated with the existing cluster and retry it
  • Check the CI output, we should see the addition of our custom resources required by our various Prometheus components
    • This includes various service monitors, alert rules, and prometheus rules

Thanos query needs to know about the prometheus endpoints, these are set in the ops-base.json chef role

See bootstrapping new clusters for how to apply the gitlab helm chart on the cluster.