Skip to content

Kubernetes: Add support for tolerations

martell requested to merge martell/gitlab-runner:k8s-tolerations into master

We need this to be able to use the runner with azure container instances

What does this MR do?

Adds support for specifying tolerations in the kubernetes executor config

Why was this MR needed?

To run the kubernetes executor on azure with the aci connector.

Are there points in the code the reviewer needs to double check?

This initial PR is only to get feedback on the style of the yaml file and location of functions. We need !678 (closed) merged before I can adjust this to build.

Does this MR meet the acceptance criteria?

  • Tests
    • Added k8s tests are passing

What are the relevant issue numbers?

This is the implementation of #2681 (closed)

It does however depend on an upgrade of the kubernetes go api !748 (closed)

##Example usage

[[runners]]
  executor = "kubernetes"
  [runners.kubernetes]
    [[runners.kubernetes.toleration]]
	  key = "key"
	  operator = "Equal"
	  value = "azure.com/aci"
	  effect = "NoSchedule"
    # key=azure.com/aci:NoSchedule
    [[runners.kubernetes.toleration]]
	  key = "azure.com/aci"
	  operator = "Exists"
	  effect = "NoSchedule"
    # azure.com/aci:NoSchedule
Edited by martell

Merge request reports