Соединение Jenkins Slave JNLP прерывается - PullRequest
0 голосов
/ 27 сентября 2018

Нужна помощь здесь!

Я использую Jenkins (v2.134) в качестве док-контейнера, управляемого Rancher (v1.6.16);и я использую haproxy (HA-Proxy версия 1.6.3 2015/12/25) в качестве своего loadbalancer.JNLP-порт Jenkins настроен как 50000. haproxy получил правило для переадресации TCP-порта (8081> 50000)

Мой ведомый (macmini) находится в другой сети и за брандмауэром (эта сеть может обеспечить доступ к моей Jenkins Infra).Я использую "Туннельное соединение через" свойство и указанный порт ": 8081".Порт 8081 уже открыт в брандмауэре.

Моя версия Java Jenkins - -

openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-1~deb9u1-b12)

Моя версия Java Slave - -

Sun JDK "1.8.0_151"

Вот агентжурналы -

*INFO: Setting up agent: my-slave-01*
    Sep 26, 2018 2:48:50 PM hudson.remoting.jnlp.Main$CuiListener <init>
    INFO: Jenkins agent is running in headless mode.
    Sep 26, 2018 2:48:50 PM hudson.remoting.Engine startEngine
    INFO: Using Remoting version: 3.23
    Sep 26, 2018 2:48:50 PM hudson.remoting.Engine startEngine
    WARNING: No Working Directory. Using the legacy JAR Cache location: /Users/jenkins/.jenkins/cache/jars
    Sep 26, 2018 2:48:51 PM hudson.remoting.jnlp.Main$CuiListener status
    INFO: Locating server among [http://<My Jenkins URL>/]
    Sep 26, 2018 2:48:51 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
    INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
    Sep 26, 2018 2:48:51 PM hudson.remoting.jnlp.Main$CuiListener status
    *INFO: Agent discovery successful*
     *Agent address: <My Jenkins DNS Name>*
     *Agent port:    8081*
     Identity:      b5:c7:33:8d:9c:97:41:3f:e1:b1:b5:31:25:ea:b5:2e
    Sep 26, 2018 2:48:51 PM hudson.remoting.jnlp.Main$CuiListener status
    INFO: Handshaking
    Sep 26, 2018 2:48:51 PM hudson.remoting.jnlp.Main$CuiListener status
    INFO: Connecting to <My Jenkins DNS>:8081
    Sep 26, 2018 2:48:51 PM hudson.remoting.jnlp.Main$CuiListener status
    INFO: Trying protocol: JNLP4-connect
    Sep 26, 2018 2:48:51 PM hudson.remoting.jnlp.Main$CuiListener status
    INFO: Remote identity confirmed: b5:c7:33:8d:9c:97:41:3f:e1:b1:b5:31:25:ea:b5:2e
    Sep 26, 2018 2:48:52 PM hudson.remoting.jnlp.Main$CuiListener status
    *INFO: Connected*
    Sep 26, 2018 2:48:54 PM org.jenkinsci.remoting.util.AnonymousClassWarnings warn
    WARNING: Attempt to (de-)serialize anonymous class org.jenkinsci.plugins.envinject.EnvInjectComputerListener$2; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
    Sep 26, 2018 2:49:49 PM hudson.remoting.jnlp.Main$CuiListener status
    *INFO: Terminated*

Любая помощь будет оценена.

Есть ли способ получить больше подробных журналов?

1 Ответ

0 голосов
/ 27 сентября 2018

Я нашел проблему;это было с моим тайм-аутом по умолчанию для балансировщика нагрузки (haproxy) для соединений TCP (если нет трафика), который был 50000 мс.https://cbonte.github.io/haproxy-dconv/configuration-1.5.html

Однако интервал пинга Jenkins для подчиненного iehudson.slaves.ChannelPinger.pingInterval составил 5 минут (по умолчанию).https://wiki.jenkins.io/display/JENKINS/Features+controlled+by+system+properties

Увеличение времени ожидания балансировщика нагрузки, т. Е.> 5 минут, решило проблему.

...