【发布时间】:2020-01-21 14:52:07
【问题描述】:
我试图让从属 pod 始终运行。不幸的是,在管道中使用 Kubernetes 代理,我仍然像往常一样努力添加“podRetention”
【问题讨论】:
标签: jenkins kubernetes jenkins-pipeline
我试图让从属 pod 始终运行。不幸的是,在管道中使用 Kubernetes 代理,我仍然像往常一样努力添加“podRetention”
【问题讨论】:
标签: jenkins kubernetes jenkins-pipeline
对于声明式管道,您可以使用 idleMinutes 来延长 pod
pipeline {
agent {
kubernetes {
label "myPod"
defaultContainer 'docker'
yaml readTrusted('kubeSpec.yaml')
idleMinutes 30
}
}
这个想法是让 pod 为经常触发的作业保持一段时间的活动,例如监视 master 分支的作业。这样,如果开发人员疯狂推动 master,构建将很快。开发完成后,我们不需要 pod 永远启动,我们也不想白白支付额外的资源,所以我们让 pod 自己杀死
【讨论】:
idleMinutes 30 后,它会在每次构建时创建新的 slave(pod)-NAME READY STATUS RESTARTS AGE jenkins-6d44798b69-tr8tb 1/1 Running 0 44h worker-bf23af92-2159-4a09-84ae-b277db073aab-756bc-9sgcw 2/2 Running 0 33s worker-be4c3286-e3a3-46f1-9cde-56761ad1a33b-2d0f6-2d65x 2/2 Running 0 3m worker-dc99e7e8-b890-4315-99b4-72391799f60a-nc4l4-18ldv 2/2 Running 0 4m