我在AWS中的同一网络中运行了Jenkins和Kubernetes集群 . 詹金斯有它自己的实例 .
我已经按如下方式配置了Kubernetes插件:
使用推荐的JNLP泊坞窗图像 . Jenkins JNLP端口配置为静态 5000
.
现在,当我开始工作时,它向我显示节点处于脱机状态 . 当我点击离线节点时,我得到了这个:
这让我去了k8集群 . 运行 docker ps
表示没有容器在运行 . 然而:
从那里我去找到什么docker容器运行以及之后离开的日志:
我使用:https://github.com/jenkinsci/docker-jnlp-slave作为图像
https://github.com/jenkinsci/kubernetes-plugin
詹金斯版: 2.27
k8: hyperkube:v1.4.3_coreos.0
Jenkins确实启动了容器,我猜它运行并且错误输出,因为在容器运行期间没有提供有效的参数?我需要它是一个手动过程,我不必登录到我的容器(Java客户端) . 我该如何实现这一目标?
UPDATE
根据这个答案:kubernetes slaves cannot register to jenkins master
如果我登录容器并运行Jenkins在无法连接的主机下显示的命令:
java -jar /usr/share/jenkins/slave.jar -jnlpUrl https://test.myhost.com/computer/jenkinsminions-10f0b7d49054ac/slave-agent.jnlp -secret 62637e83008f50eb94483ad609e9a2719d313fa56e640e4beca9eebeaf0b1af2
容器通过JNLP2连接并运行作业 .
我试图按照建议添加参数,但没有运气 . 容器仍然无法自动连接:
1 回答
容器日志中是否有Root目录不可写消息?
在这种情况下,您可能遇到类似于this的问题 .
PS:如果您看不到日志,请尝试删除“Allocate pseudotty”选项