Jenkins奴隶吊舱始终保持运行

时间:2020-01-21 14:52:07

标签: jenkins kubernetes jenkins-pipeline eks

我是在Kubernetes上使用Jenkins的新手。我已经为詹金斯安装了头盔稳定图表。我可以创建并执行Job。

以下是疼痛区域:

  1. 从站吊舱启动并运行之前,吊舱需要一些时间(这是因为吊舱中有6个容器在运行)。
  2. 试图保持slave(pod)始终运行。如果我的方法不正确,请纠正我,以使slave(pod)始终运行。不幸的是,使用Kubernetes代理(在管道内部),我仍然像往常一样在哪里添加“ podRetention”。

Jenkins中的很少术语在官方文档中无法解释-

i。 idleMinutes

ii。 instanceCap

iii。 activeDeadlineSeconds

iv。 slaveConnectTimeout

1 个答案:

答案 0 :(得分:1)

对于声明性管道,您可以使用idleMinutes来使Pod保持更长的时间

pipeline {
    agent {
       kubernetes {
            label "myPod"
            defaultContainer 'docker'
            yaml readTrusted('kubeSpec.yaml')
            idleMinutes 30
        }
    }

这个想法是让Pod存活一段时间,以便经常触发的工作(例如,一个正在监视的master分支)。这样,如果开发人员大肆宣传主软件,构建速度将很快。开发人员完成工作后,我们不需要将Pod永久吊起,也不想为一无所有付出额外的资源,因此我们可以让Pod杀死自己