Kubernetes插件容器不能连接回Jenkins
我有一个在AWS的同一个networking中运行的Jenkins和Kubernetes集群。 jenkins有它自己的实例。
我已经configuration了Kubernetes插件,如下所示:
使用推荐的JNLP docker镜像。 Jenkins JNLP端口被configuration为静态5000
。
现在,当我开始工作时,它告诉我该节点处于离线状态。 当我点击脱机节点,我得到这个:
这使我去到K8集群。 运行docker ps
显示没有容器在运行。 然而:
从那里,我去find什么docker容器运行,以及之后它离开什么日志:
我使用: https : //github.com/jenkinsci/docker-jnlp-slave作为图像
https://github.com/jenkinsci/kubernetes-plugin
jenkins版本: 2.27
k8: hyperkube:v1.4.3_coreos.0
jenkins确实旋转了容器,我猜它运行并出错,因为在容器运行期间没有提供有效的参数。 我需要它是一个手动过程,我不必login到我的容器(Java客户端)。 我如何做到这一点?
UPDATE
基于这个答案: kubernetes奴隶不能注册jenkins大师
如果我login容器并运行Jenkins显示在无法连接的主机下的命令:
java -jar /usr/share/jenkins/slave.jar -jnlpUrl https://test.myhost.com/computer/jenkinsminions-10f0b7d49054ac/slave-agent.jnlp -secret 62637e83008f50eb94483ad609e9a2719d313fa56e640e4beca9eebeaf0b1af2
容器通过JNLP2连接,作业运行。
我试图按照build议添加参数,但没有运气。 容器仍然不会自动连接:
容器日志中有一个根目录不可写消息吗?
[...] Exception in thread "main" java.lang.RuntimeException: Root directory not writable at hudson.remoting.FileSystemJarCache.<init>(FileSystemJarCache.java:44) at hudson.remoting.Engine.<init>(Engine.java:139) at hudson.remoting.jnlp.Main.createEngine(Main.java:164) at hudson.remoting.jnlp.Main.main(Main.java:148) at hudson.remoting.jnlp.Main._main(Main.java:144) at hudson.remoting.jnlp.Main.main(Main.java:110)
在这种情况下,您可能会遇到与此类似的问题。
PS:如果看不到日志,请尝试删除“Allocate pseudotty”选项