无法连接到 http://localhost:8080/tcpSlaveAgentListener/:连接被拒绝(连接被拒绝)

时间:2021-01-10 16:41:48

标签: jenkins kubernetes docker-compose continuous-integration jenkins-pipeline

我正在使用 docker 容器运行 Jenkins,并使用以下命令在 localhost:8080 上访问它:

sudo docker run --name uditgauravtest11 -p 8085:8080 -v /var/run/docker.sock:/var/run/docker.sock uditgaurav/test:1

现在我已经通过 http://localhost:8080 访问了 Jenkins Web UI

我正在使用这个 git repo https://github.com/uditgaurav/jenkins-template

设置管道

这里的管道使用 Kubernetes YAML 作为作业的一部分运行,我为其配置了一个单独的 GKE 集群并使用 Manage Jenkins > Manage Node and Cloud > Configure Jenkins 将其连接到 Jenkins

现在,当我触发 Jenkins 作业时,它会在 GKE 集群上启动一个从属 Pod,其中有两个容器,一个 jnlp 容器运行 jenkins/inbound-agent:4.3-4 映像,另一个是我在 Git repo pod 中提到的- delete.yml (https://github.com/uditgaurav/jenkins-template)

但是 jnlp 容器在进入运行状态并出现以下错误后立即进入失败状态,并且 Pod 终止并出现新的 Pod。

命令:

# "docker-test-68-xwmvf-b6w6f-fmpd2" is the slave pod created on the cluster
kubectl logs -f docker-test-68-xwmvf-b6w6f-fmpd2  -c jnlp

错误:

Jan 10, 2021 2:40:20 PM hudson.remoting.jnlp.Main createEngine
INFO: Setting up agent: docker-test-68-xwmvf-b6w6f-fmpd2
Jan 10, 2021 2:40:20 PM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
Jan 10, 2021 2:40:20 PM hudson.remoting.Engine startEngine
INFO: Using Remoting version: 4.3
Jan 10, 2021 2:40:20 PM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir
INFO: Using /home/jenkins/agent/remoting as a remoting work directory
Jan 10, 2021 2:40:20 PM org.jenkinsci.remoting.engine.WorkDirManager setupLogging
INFO: Both error and output logs will be printed to /home/jenkins/agent/remoting
Jan 10, 2021 2:40:20 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [http://localhost:8080/]
Jan 10, 2021 2:40:20 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: Failed to connect to http://localhost:8080/tcpSlaveAgentListener/: Connection refused (Connection refused)
java.io.IOException: Failed to connect to http://localhost:8080/tcpSlaveAgentListener/: Connection refused (Connection refused)
    at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:217)
    at hudson.remoting.Engine.innerRun(Engine.java:693)
    at hudson.remoting.Engine.run(Engine.java:518)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:607)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:214)
    ... 2 more

Jenkins 作业的控制台输出显示,由于此错误,它不断创建和删除同一个 Pod。

控制台输出:

Started by user unknown or anonymous
Obtained Jenkinsfile from git https://github.com/uditgaurav/jenkins-template
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] readTrusted
Obtained pod-delete.yaml from git https://github.com/uditgaurav/jenkins-template
[Pipeline] podTemplate
[Pipeline] {
[Pipeline] node
Created Pod: kubernetes default/docker-test-68-xwmvf-b6w6f-xbng8
[Normal][default/docker-test-68-xwmvf-b6w6f-xbng8][Scheduled] Successfully assigned default/docker-test-68-xwmvf-b6w6f-xbng8 to gke-cluster-1-default-pool-57712ddb-q2j7
[Normal][default/docker-test-68-xwmvf-b6w6f-xbng8][Pulling] Pulling image "litmuschaos/chaos-ci-lib:v0.3.0"
[Normal][default/docker-test-68-xwmvf-b6w6f-xbng8][Pulled] Successfully pulled image "litmuschaos/chaos-ci-lib:v0.3.0"
[Normal][default/docker-test-68-xwmvf-b6w6f-xbng8][Created] Created container pod-delete
[Normal][default/docker-test-68-xwmvf-b6w6f-xbng8][Started] Started container pod-delete
[Normal][default/docker-test-68-xwmvf-b6w6f-xbng8][Pulled] Container image "jenkins/inbound-agent:4.3-4" already present on machine
[Normal][default/docker-test-68-xwmvf-b6w6f-xbng8][Created] Created container jnlp
[Normal][default/docker-test-68-xwmvf-b6w6f-xbng8][Started] Started container jnlp
Still waiting to schedule task
‘Jenkins’ doesn’t have label ‘docker_test_68-xwmvf’
Created Pod: kubernetes default/docker-test-68-xwmvf-b6w6f-26sxm
[Normal][default/docker-test-68-xwmvf-b6w6f-26sxm][Scheduled] Successfully assigned default/docker-test-68-xwmvf-b6w6f-26sxm to gke-cluster-1-default-pool-57712ddb-q2j7
[Normal][default/docker-test-68-xwmvf-b6w6f-26sxm][Pulling] Pulling image "litmuschaos/chaos-ci-lib:v0.3.0"
[Normal][default/docker-test-68-xwmvf-b6w6f-26sxm][Pulled] Successfully pulled image "litmuschaos/chaos-ci-lib:v0.3.0"
[Normal][default/docker-test-68-xwmvf-b6w6f-26sxm][Created] Created container pod-delete
[Normal][default/docker-test-68-xwmvf-b6w6f-26sxm][Started] Started container pod-delete
[Normal][default/docker-test-68-xwmvf-b6w6f-26sxm][Pulled] Container image "jenkins/inbound-agent:4.3-4" already present on machine
[Normal][default/docker-test-68-xwmvf-b6w6f-26sxm][Created] Created container jnlp
[Normal][default/docker-test-68-xwmvf-b6w6f-26sxm][Started] Started container jnlp
Created Pod: kubernetes default/docker-test-68-xwmvf-b6w6f-dgx3x
[Normal][default/docker-test-68-xwmvf-b6w6f-dgx3x][Scheduled] Successfully assigned default/docker-test-68-xwmvf-b6w6f-dgx3x to gke-cluster-1-default-pool-57712ddb-q2j7
[Normal][default/docker-test-68-xwmvf-b6w6f-dgx3x][Pulling] Pulling image "litmuschaos/chaos-ci-lib:v0.3.0"
[Normal][default/docker-test-68-xwmvf-b6w6f-dgx3x][Pulled] Successfully pulled image "litmuschaos/chaos-ci-lib:v0.3.0"
[Normal][default/docker-test-68-xwmvf-b6w6f-dgx3x][Created] Created container pod-delete
[Normal][default/docker-test-68-xwmvf-b6w6f-dgx3x][Started] Started container pod-delete
[Normal][default/docker-test-68-xwmvf-b6w6f-dgx3x][Pulled] Container image "jenkins/inbound-agent:4.3-4" already present on machine
[Normal][default/docker-test-68-xwmvf-b6w6f-dgx3x][Created] Created container jnlp
[Normal][default/docker-test-68-xwmvf-b6w6f-dgx3x][Started] Started container jnlp
Created Pod: kubernetes default/docker-test-68-xwmvf-b6w6f-fmpd2
[Normal][default/docker-test-68-xwmvf-b6w6f-fmpd2][Scheduled] Successfully assigned default/docker-test-68-xwmvf-b6w6f-fmpd2 to gke-cluster-1-default-pool-57712ddb-9j14
[Normal][default/docker-test-68-xwmvf-b6w6f-fmpd2][Pulling] Pulling image "litmuschaos/chaos-ci-lib:v0.3.0"
[Normal][default/docker-test-68-xwmvf-b6w6f-fmpd2][Pulled] Successfully pulled image "litmuschaos/chaos-ci-lib:v0.3.0"
[Normal][default/docker-test-68-xwmvf-b6w6f-fmpd2][Created] Created container pod-delete
[Normal][default/docker-test-68-xwmvf-b6w6f-fmpd2][Started] Started container pod-delete
[Normal][default/docker-test-68-xwmvf-b6w6f-fmpd2][Pulled] Container image "jenkins/inbound-agent:4.3-4" already present on machine
[Normal][default/docker-test-68-xwmvf-b6w6f-fmpd2][Created] Created container jnlp
[Normal][default/docker-test-68-xwmvf-b6w6f-fmpd2][Started] Started container jnlp

我经历了一些类似的问题并尝试解决这些问题,为此我在 TCP 端口的 Dashboard > Configure Global Security 中为入站代理提供了不同的值。我用 50000 固定它,但它仍在发生。现在我将其更改为 Random 但它并没有解决问题。

enter image description here

对此有帮助吗? 如果我需要分享更多信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

错误:严重:无法连接到 http://localhost:8080/tcpSlaveAgentListener/:连接被拒绝(连接被拒绝)

首先,确保您的 GKE 集群可以连接到您的 Jenkins 主控主机的 50000 TCP 端口。(telnet 12.12.12.12 50000)

您的代理无法连接到 Jenkins 主节点,如果它们不在同一主机上,则需要设置“Jenkins URL”(管理 Jenkins > 管理节点和云 > 配置 Jenkins -> Kubernetes),如“http:/ /12.12.12.12:8080"