Skip to content

Allow to set node_toleration for gitlab-runner build pods

Summary

Unable to set node_tolerations for the gitlab-runners config.

Steps to reproduce

Have a taint on worker nodes in k8s and use gitlab's chart. (Runners' job wont get scheduled)

Configuration used

(Please provide a sanitized version of the configuration used wrapped in a code block (```yaml))

---
global:
  hosts:
    domain: xxxxxxxxxxxxxxxxxxx
    https: true
  ingress:
    configureCertmanager: false
    annotations:
      kubernetes.io/tls-acme: "true"
    enabled: true
  time_zone: UTC
  minio:
    enable: true
  appConfig:
    omniauth:
      enabled: true
      # autoSignInWithProvider: google_oauth2
      syncProfileFromProvider: ['google_oauth2']
      syncProfileAttributes: ['email', 'name', 'location']
      allowSingleSignOn: ['google_oauth2']
      blockAutoCreatedUsers: true
      providers:
      - secret: gitlab-google-oauth2

# Already clusterwide
certmanager:
  install: false
  rbac:
    create: false

nginx-ingress:
  enabled: true
  tcp:
    22: "enabled"
  tcpExternalConfig: "true"
  controller:
    service:
      externalTrafficPolicy: "Local"
    resources:
      requests:
        cpu: 100m
        memory: 200Mi
    publishService:
      enabled: true
    replicaCount: 3
    minAvailable: 2
    scope:
      enabled: false
  defaultBackend:
    minAvailable: 1
    replicaCount: 2
  rbac:
    create: true
    createClusterRole: true
    createRole: true

prometheus:
  install: true
  server:
    persistentVolume:
      storageClass: gitlab-prometheus
      #storageClass: glusterfs
  rbac:
    create: true

postgresql:
  install: true
  persistence:
    storageClass: gitlab-postgresql
    #storageClass: glusterfs

minio:
  persistence:
    storageClass: gitlab-minio
    #storageClass: gusterfs
  ingress:
    tls:
      secretName: gitlab-minio-tls

registry:
  enabled: true
  ingress:
    tls:
      secretName: gitlab-registry-tls
 
redis:
  enabled: true
  persistence:
    storageClass: gitlab-redis
    #storageClass: glusterfs
  ingress:
    tls:
      secretName: gitlab-redis-tls
 
gitlab:
  migrations:
    enabled: true
    image:
      repository: registry.gitlab.com/gitlab-org/build/cng/gitlab-rails-ee
  unicorn:
    enabled: true
    image:
      repository: registry.gitlab.com/gitlab-org/build/cng/gitlab-unicorn-ee
    ingress:
      tls:
        secretName: gitlab-unicorn-tls
  sidekiq:
    enabled: true
    image:
      repository: registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ee
  gitaly:
    enabled: true
    image:
      repository: registry.gitlab.com/gitlab-org/build/cng/gitaly
    persistence:
      storageClass: gitlab-gitaly
      #storageClass: glusterfs
  gitlab-shell:
    image:
      repository: registry.gitlab.com/gitlab-org/build/cng/gitlab-shell
gitlab-runner:
  runners:
    privileged: true

Current behavior

Unable to force runner's job onto a specific worker node (toleration & nodeSelector)

Expected behavior

Hability to set those tolerations and nodeSelector

Versions

  • Chart: gitlab-1.5.3
  • Platform:
    • Self-hosted: kubeadm
  • Kubernetes: (kubectl version)
    • Client: v1.13.3
    • Server: v1.13.3
  • Helm: (helm version)
    • Client: v2.8.1
    • Server: v2.9.1

Relevant logs

feel free to ask for specific one

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information