Jenkins Kubernetes插件产生了一个奴隶

时间:2016-05-17 17:57:16

标签: jenkins jenkins-plugins kubernetes

问题

您好我最近在本地kubernetes版本(https://github.com/jenkinsci/kubernetes-plugin)上部署了csanchez的jenkins-kubernetes版本。这也意味着我使用了提供的jenkins-local.yml和service-local.yml。构建部署良好,一切都已设置。但是,当我尝试一次运行多个作业时,作业在队列中等待,并且只生成一个执行程序。每个作业执行一个shell脚本,打印“hello x friend”,然后调用“sleep 1m or 30s”。

插件是否会产生多个容器?是否应该为队列中的每个作业生成一个容器(只要它不超过容器上限)?

构建信息

詹金斯建立:1.642.2
Kubernetes插件:0.6
Kubernetes:1.2

kubernetes插件指向containter0ip的内部jenkins主机:8080
容器盖为5
部署的docker镜像是jenkin / jnlp-slave

修改

当队列中有多个作业时,有时会有多个执行程序生效。在阅读了死亡容器的日志之后,所有这些容器因为无法连接到容器而死亡:8080 / tcpSlaveAgentListener /.

2 个答案:

答案 0 :(得分:1)

Jenkins需要其他配置尽快生成代理,请参阅https://github.com/jenkinsci/kubernetes-plugin#over-provisioning-flags

简而言之,添加Jenkins启动参数

-Dhudson.slaves.NodeProvisioner.MARGIN=50 -Dhudson.slaves.NodeProvisioner.MARGIN0=0.85

并重新启动Jenkins服务器

答案 1 :(得分:0)

尝试将addind添加到etc / sysconfig / jenkins

-Djava.hudson.slaves.NodeProvisioner.MARGIN=1

当我使用mesos时,这有助于回复,我将它保存在kubernetes中。