kubernetes奴隶无法注册到詹金斯大师

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)

所以...我不知道要进一步测试。如果有人可以给我提示,我将不胜感激!

最诚挚的问候,

马里奥

csa*_*hez 6

${computer.jnlpmac} ${computer.name}将新容器添加到Pod定义时,arguments字段应为并且应默认设置为

  • 谢谢卡洛斯(Carlos),这确实成功了。出于某种原因,当我添加新容器时,我将“ / bin / sh -c”添加为命令,将“ cat”添加为参数...奇怪,但现在可以使用了!;) (2认同)