Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
  • Blog
  • Pricing
  • Documentation
Yandex project
© 2025 Yandex.Cloud LLC
Yandex Managed Service for Kubernetes
  • Comparison with other Yandex Cloud services
  • Getting started
    • All guides
    • Connecting to a node over SSH
    • Connecting to a node via OS Login
    • Updating Kubernetes
    • Configuring autoscaling
      • Getting started with Cloud Marketplace
      • Installing Argo CD
      • Installing Chaos Mesh
      • Installing cert-manager with the Cloud DNS ACME webhook plugin
      • Installing Container Storage Interface for S3
      • Installing Crossplane
      • Installing External Secrets Operator
      • Installing ExternalDNS with a plugin for Cloud DNS
      • Installing Falco
      • Installing Filebeat OSS
      • Installing Fluent Bit
      • Installing Gatekeeper
      • Installing Gateway API
      • Installing the GitLab Agent
      • Installing GitLab Runner
      • Installing HashiCorp Vault
      • Installing Ingress NGINX
      • Installing the Application Load Balancer Ingress controller
      • Upgrading the Application Load Balancer Ingress controller
      • Installing Istio
      • Installing Jaeger
      • Installing Kruise
      • Installing Kyverno & Kyverno Policies
      • Installing Loki
      • Installing Metrics Provider
      • Installing NodeLocal DNS
      • Installing Policy Reporter
      • Installing Prometheus Operator
      • Installing Thumbor
      • Installing Velero
    • Connecting external nodes to the cluster
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Release notes

In this article:

  • Getting started
  • Installation using Yandex Cloud Marketplace
  • Installation using a Helm chart
  • Use cases
  • See also
  1. Step-by-step guides
  2. Installing apps from Cloud Marketplace
  3. Installing GitLab Runner

Installing GitLab Runner

Written by
Yandex Cloud
Improved by
Dmitry A.
Updated at May 5, 2025
  • Getting started
  • Installation using Yandex Cloud Marketplace
  • Installation using a Helm chart
  • Use cases
  • See also

GitLab Runner is an open-source application that executes GitLab CI/CD pipeline jobs based on instructions from a special file named .gitlab-ci.yml. It helps run automated builds in a Managed Service for Kubernetes cluster.

Getting startedGetting started

  1. Make sure that the security groups for the Managed Service for Kubernetes cluster and its node groups are configured correctly. If any rule is missing, add it.

    Warning

    The configuration of security groups determines the performance and availability of the cluster and the services and applications running in it.

  2. Open the GitLab administration panel in your browser:

    • If GitLab is deployed on a Yandex Compute Cloud VM instance, use its public IP.
    • If GitLab is deployed in Yandex Managed Service for GitLab, use the instance FQDN.
  3. Get the GitLab Runner authentication token (Runner authentication token):

    • To configure GitLab Runner throughout the GitLab instance (GitLab administrator access required):
      1. Click Admin area and select CI/CD → Runners.
      2. Click New instance runner and create a new GitLab Runner.
      3. Save the value of the Runner authentication token parameter.
    • To configure GitLab Runner for a group or project:
      1. Select a group or project you want to configure.
      2. On the left-hand side of the window that opens, click Settings and select the CI/CD option.
      3. Under Runners, click Expand.
      4. Click New project runner and create a new GitLab Runner.
      5. Save the value of the Runner authentication token parameter.

Installation using Yandex Cloud MarketplaceInstallation using Yandex Cloud Marketplace

  1. Navigate to the folder dashboard and select Managed Service for Kubernetes.
  2. Click the name of the Managed Service for Kubernetes cluster you need and select the Marketplace tab.
  3. Under Application available for installation, select GitLab Runner and click Go to install.
  4. Configure the application:
    • Namespace: Create a new namespace, e.g., gitlab-runner-space. If you leave the default namespace, GitLab Runner may work incorrectly.

    • Application name: Specify the application name.

    • GitLab domain name: Enter a domain for your GitLab instance.

    • Registration token: Specify the token you obtained previously.

    • (Optional) Privileged mode for running docker:dind: Enable this option if you want to use docker:dind images.

      Warning

      The privileged mode increases the risk of information security incidents. Make sure to read the relevant documentation before using it.

    • (Optional) List of comma-separated tags: Provide a list of tags to distribute tasks between multiple GitLab Runners.

  5. Click Install.
  6. Wait for the application to change its status to Deployed.
  7. Go back to the Runners page of your GitLab instance, reload the page, and make sure you see a new GitLab Runner.

Installation using a Helm chartInstallation using a Helm chart

  1. Install Helm v3.8.0 or higher.

  2. Install kubect and configure it to work with the new cluster.

  3. To install a Helm chart with GitLab Runner, run the following command:

    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/gitlab-org/gitlab-runner/chart/gitlab-runner \
      --version 0.54.0-8 \
      --untar && \
    helm install \
      --namespace <namespace> \
      --create-namespace \
      --set gitlabDomain=<VM_public_IP_address_or_GitLab_instance_FQDN> \
      --set runnerRegistrationToken=<previously_obtained_token> \
      gitlab-runner ./gitlab-runner/
    

    If you set namespace to the default namespace, GitLab Runner may work incorrectly. We recommend you to specify a value different from all existing namespaces (e.g., gitlab-runner-space).

    Note

    If you are using a Helm version below 3.8.0, append the export HELM_EXPERIMENTAL_OCI=1 && \ string to the command to enable Open Container Initiative (OCI) support in the Helm client.

Use casesUse cases

  • Continuous deployment of containerized applications using GitLab.
  • Scanning Container Registry for vulnerabilities during continuous deployment of applications using GitLab.
  • Storing Docker images in Yandex Container Registry.

See alsoSee also

  • Managed Service for GitLab documentation
  • GitLab documentation
  • Documentation for GitLab CI/CD
  • Reference guide on .gitlab-ci.yml

Was the article helpful?

Previous
Installing the GitLab Agent
Next
Installing HashiCorp Vault
Yandex project
© 2025 Yandex.Cloud LLC