Deploying GitLab in multiple clusters

Deploying GitLab with Istio service mesh

  1. helm install

helm -n gitlab template gitlab gitlab/gitlab -f values.yml --version 6.4.1 > gitlab-6.4.1.yml

helm install gitlab gitlab/gitlab -f values.yml --version 6.4.1 -n gitlab
helm upgrade --install gitlab gitlab/gitlab -f values.yml --version 6.4.1 -n gitlab

Make sure you can login into GitLab

  1. Credentials

user: root
password: kubectl get secret -n gitlab gitlab-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode ; echo
  1. Get self-signed CA

kubectl -n gitlab get secret gitlab-wildcard-tls-ca -ojsonpath='{.data.cfssl_ca}'

Deploying Gateway "ingress"

  1. Configure the gateway

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gitlab-gateway
spec:
  selector:
    istio: ingressgateway # use Istio default gateway implementation
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "gitlab.elitebook.tokyo.lab"
  1. Configure the gateway routes

Configure istio sidecars

  1. helm templates

  1. get mesh-config values

  1. inject istio side cars

Prometheus

Grafana

  • https://gitlab.com/gitlab-org/grafana-dashboards/tree/master/omnibus

Last updated