Gitlab Runner - Kulichanin/speedtest GitHub Wiki

Install gitlab runner

Before start

Create gitlab-runner for your gitlab admin/runners/1/register

Get repo runner gitlab

helm repo add gitlab https://charts.gitlab.io
helm repo update gitlab
helm pull gitlab/gitlab-runner --untar

Castomize value

Add image pull secret to service account

kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "homelab-harbor"}]}'

For GitLab Runner to run properly, you must set these values in your configuration file:

:67
gitlabUrl: URL

:81
runnerToken: "token"

:205
create: true

:221
Uncommnet rules
rules:
    - resources: ["events"]
      verbs: ["list", "watch"]
    - resources: ["namespaces"]
      verbs: ["create", "delete"]
    - resources: ["pods"]
      verbs: ["create","delete","get"]
    - apiGroups: [""]
      resources: ["pods/attach","pods/exec"]
      verbs: ["get","create","patch","delete"]
    - apiGroups: [""]
      resources: ["pods/log"]
      verbs: ["get","list"]
    - resources: ["secrets"]
      verbs: ["create","delete","get","update"]
    - resources: ["serviceaccounts"]
      verbs: ["get"]
    - resources: ["services"]
      verbs: ["create","get"]

:282
create: true

:299
imagePullSecrets: 
    [{"name": "homelab-harbor"}]

If use prometheus stack for metrics

metrics:
  enabled: true

  ## Define a name for the metrics port
  ##
  portName: metrics

  ## Provide a port number for the integrated Prometheus metrics exporter
  ##
  port: 9252

  ## Configure a prometheus-operator serviceMonitor to allow autodetection of
  ## the scraping target. Requires enabling the service resource below.
  ##
  serviceMonitor:
    enabled: true

    ## Provide additional labels to the service monitor resource
    ##
    labels:
      release: kube-prometheus-stack

    ## Provide annotations to the service monitor ressource
    ##
    ## annotations: {}

    ## Define a scrape interval (otherwise prometheus default is used)
    ##
    ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config
    ##
    interval: "5s"

    ## Specify the scrape protocol scheme e.g., https or http
    ##
    scheme: "http"

## Configure a service resource e.g., to allow scraping metrics via
## prometheus-operator serviceMonitor
service:
  enabled: true

  ## Specify the service type e.g., ClusterIP, NodePort, LoadBalancer or ExternalName
  ##
  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
  ##
  type: ClusterIP

Install runner

Install gitlab-runner

helm install gitlab-runner ./gitlab-runner -f ./gitlab-runner/values.yaml -n gitlab-runner --create-namespace