Mar*_*esa 4 jenkins kubernetes
我有一个kubernetes集群(托管在大学中,而不是在gcloud中),并且我试图将Jenkins与jenksci / kubernetes插件一起使用来启动从属服务器。但是,无论我做什么,他们似乎都无法向大师注册。(k8s 1.2,jenkins 2.19.2,kub-plugin 0.9)
这是我使用的配置:
如果我设置tty:true,容器将启动,但永远无法连接到主服务器。日志不可读,我无法连接到从站以检查正在发生的情况:
$ kubectl logs jnpl-slave-ec16b9ae7bbd --namespace=jenkins
Error from server: Unrecognized input header
$ kubectl attach -ti jnpl-slave-ec16b9ae7bbd --namespace=jenkins
error: pod jnpl-slave-ec16b9ae7bbd is not running and cannot be attached to; current phase is Succeeded
Run Code Online (Sandbox Code Playgroud)如果我设置tty:false,那么容器将启动并正确执行入口点/ usr / local / bin / jenkins-slave,但是似乎未传递secret和slaveName命令行arg,因为该进程死于询问它们:
$ kubectl logs jnpl-slave-ecfd3a6cbaba --namespace=jenkins
Warning: JnlpProtocol3 is disabled by default, use JNLP_PROTOCOL_OPTS to alter the behavior
two arguments required, but got []
...
Run Code Online (Sandbox Code Playgroud)如果我手动将参数(种子和从属名称)设置为假值,它将正确启动,但随后因抱怨/ home / jenkins不可写而死:
Warning: JnlpProtocol3 is disabled by default, use JNLP_PROTOCOL_OPTS to alter the behavior
hudson.remoting.jnlp.Main createEngine
Setting up slave: http://10.254.151.87
hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
Exception in thread "main" java.lang.RuntimeException: Root directory not writable
...
Run Code Online (Sandbox Code Playgroud)但是,如果我在网页设置上手动创建了一个从站,则它可以工作,并且可以在线查看该从站:
node$ sudo docker run -ti docker.io/jenkinsci/jnlp-slave:latest /bin/bash
pod$ java -jar /usr/share/jenkins/slave.jar -jnlpUrl http://10.254.151.87/computer/slave1/slave-agent.jnlp
...
INFO: Connected
Run Code Online (Sandbox Code Playgroud)所以...我不知道要进一步测试。如果有人可以给我提示,我将不胜感激!
最诚挚的问候,
马里奥
${computer.jnlpmac} ${computer.name}将新容器添加到Pod定义时,arguments字段应为并且应默认设置为
| 归档时间: |
|
| 查看次数: |
1787 次 |
| 最近记录: |