在Jenkins的Kubernetes插件中设置pod模板上的污点

时间:2018-02-27 14:22:23

标签: jenkins kubernetes jenkins-plugins jenkins-pipeline

我想应用由Kubernetes插件动态旋转的Jenkins slave pod上的容差。我看到Kubernetes插件没有在Jenkins UI上提供任何选项来添加容差,如下图所示。谁能告诉我,我怎样才能将这种情况下的容忍度添加到从属pods(由kubernetes插件生成)。

P.S。: - 我不想使用标签,我严格要使用宽容。我不确定是否要在Jenkinsfile中添加podTemplate并指定此podTemplate中的容差。因为这会迫使我为每个工作的Jenkins文件做同样的事情,如果多个开发人员准备各自的管道,这是繁琐而不可能的。enter image description here

3 个答案:

答案 0 :(得分:2)

您实际上可以直接在jenkins中向配置添加污点。

https://github.com/jenkinsci/kubernetes-plugin/pull/311#issuecomment-386342776

您可以将其添加到容器下方的“豆荚的原始yaml”中,并相应地更新标签的条件。

我自己使用了它,并且确实可以使用。

(这是上面链接中的Yaml)

apiVersion: v1
kind: Pod
metadata:
  labels:
    jenkins/kube-default: true
    app: jenkins
    component: agent
spec:
  nodeSelector:
    werkint.com/entity: other
  tolerations:
  - key: werkint.com/entity
    operator: Equal
    value: other
    effect: NoSchedule

答案 1 :(得分:0)

就我所知和迄今为止,不可能对由kubernetes插件进行调整的jenkins的奴隶增加容忍度。而且在这种情况下也无法在 podTemplateSpec 中添加容差(podTemplateSpec - 是一个替代选项,用于定义github中提到的pod& Container模板回复kubernetes插件: - https://github.com/jenkinsci/kubernetes-plugin)Jenkinsfile。

答案 2 :(得分:0)

apiVersion:v1 种类:豆荚 元数据:   标签:     jenkins / kube-default:true     应用:詹金斯     组成部分:代理商 规格:   nodeSelector:     詹金斯拉夫:詹金斯拉夫   公差:   -键:“ efk_taint”     操作员:“存在”     效果:“ NoSchedule”