java Jenkins kubernetes插件:提供的端口:50000不可访问

9avjhtql  于 2023-04-10  发布在  Java
关注(0)|答案(4)|浏览(745)

我已经在GKE上使用官方helm chart设置了jenkins
我还使用helm创建了一个nginx-ingress控制器安装,我可以通过https://112.222.111.22/jenkins访问jenkins,其中112.222.111.22是我传递给负载均衡器的静态IP。
我也可以创造就业机会。
但是,当我尝试启动入站远程代理时:

▶ java -jar agent.jar -noCertificateCheck -jnlpUrl https://112.222.111.22/jenkins/computer/My%20Builder%203/slave-agent.jnlp -secret <some_secret>

...
WARNING: Connect timed out
Feb 28, 2020 5:57:18 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: https://112.222.111.22/jenkins/ provided port:50000 is not reachable
java.io.IOException: https://112.222.111.22/jenkins/ provided port:50000 is not reachable
    at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:303)
    at hudson.remoting.Engine.innerRun(Engine.java:527)
    at hudson.remoting.Engine.run(Engine.java:488)

为什么会这样呢?

btxsgosb

btxsgosb1#

我有类似的问题。我已经解决了它启用“使用WebSocket”。Jenkins Salve/Agent〉配置〉启动方法〉使用WebSocket(启用)〉保存。

eagi6jfj

eagi6jfj2#

可能是因为端口50000在Jenkins master中未打开。
您可以尝试通过在Jenkins Master的防火墙中创建入站规则来打开端口,该防火墙允许端口50000(来自其他机器,在这种情况下是代理,因此是入站规则)。尝试以下步骤:
1.去找Jenkins少爷
1.打开Wiindows Defender Firewall--〉高级设置--〉创建入站规则允许端口50000

注意:在1入站规则中,您可以允许多个端口,如下所示。
1.重新启动主Jenkins服务。
1.检查代理服务是否持续运行(仅当您已在代理上创建Windows服务时,步骤才有效)。
在Jenkins中检查代理状态!

bihw5rsg

bihw5rsg3#

我也遇到了同样的错误,在做了大量的研究之后,我发现问题出在service.yaml中,它被用来公开jenkins服务器,所以我修改了这个

ports:
    - name: httpport
      port: 8080
      targetPort: 8080
      nodePort: 32000

到这个

- name: httpport
  port: 8080
  targetPort: 8080
  nodePort: 32000
- name: jnlpport
  port: 50000
  targetPort: 50000

它解决了我的问题。
如果感兴趣,这里我解释了我如何在kubernetes How to Deploy Jenkin on Kubernetes上部署jenkins服务器👉

yjghlzjz

yjghlzjz4#

看起来端口50000在jenkins master中没有打开。尝试打开端口并重新启动机器和示例(即jenkins通过url),看看是否有帮助。

相关问题