Skip to content

Runner Pod placement, nodeSelctor, affinity, tolerations

Hi,

It could be interresting to be able to manage runners pods placement with:

runners:
  selector:
    nodeSelector:
      gitlab-runners: true
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: gitlab-runner
            operator: In
            values:
            - true
  tolerations:
  - key: "gitlab-runners-only"
    operator: "Equal"
    value: "true"
    effect: "NoSchedule"

Maybe pass only the nodeSelector config to the runner with an env like: RUNNER_NODESELECTOR = "gitlab-runner=true" that the runner could use to create the pods with:

[runners.kubernetes]
    [runners.kubernetes.node_selector]
        gitlab-runner = "true"

What do you think how to achieve this ?

Edited by Grégory Ferreux