繁体   English   中英

Kubernetes插件容器无法连接回Jenkins

[英]Kubernetes plugin containers can't connect back to Jenkins

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

我已经配置了Kubernetes插件,如下所示: 在此处输入图片说明

使用推荐的JNLP docker映像。 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客户端)的过程。 我该如何实现?

更新

基于此答案: kubernetes从站无法注册到jenkins主站

如果我登录到容器并运行Jenkins在无法连接的主机下显示的命令:

java -jar /usr/share/jenkins/slave.jar -jnlpUrl https://test.myhost.com/computer/jenkinsminions-10f0b7d49054ac/slave-agent.jnlp -secret 62637e83008f50eb94483ad609e9a2719d313fa56e640e4beca9eebeaf0b1af2

容器通过JNLP2连接,然后作业运行。

我试图按照建议添加自变量,但是没有运气。 容器仍无法自动连接: 在此处输入图片说明

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

[...]
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:如果看不到日志,请尝试删除“分配伪伪”选项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM