您好我最近在本地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 /.
答案 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中。