首页 文章

Kubernetes插件容器无法连接回Jenkins

提问于
浏览
0

我在AWS中的同一网络中运行了Jenkins和Kubernetes集群 . 詹金斯有它自己的实例 .

我已经按如下方式配置了Kubernetes插件:
enter image description here

使用推荐的JNLP泊坞窗图像 . Jenkins JNLP端口配置为静态 5000 .

现在,当我开始工作时,它向我显示节点处于脱机状态 . 当我点击离线节点时,我得到了这个:

enter image description here

这让我去了k8集群 . 运行 docker ps 表示没有容器在运行 . 然而:

enter image description here

从那里我去找到什么docker容器运行以及之后离开的日志:

enter image description here

我使用: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连接并运行作业 .

我试图按照建议添加参数,但没有运气 . 容器仍然无法自动连接:
enter image description here

1 回答

  • 1

    容器日志中是否有Root目录不可写消息?

    [...]
    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)
    

    在这种情况下,您可能遇到类似于this的问题 .

    PS:如果您看不到日志,请尝试删除“Allocate pseudotty”选项

相关问题