【问题标题】:Jenkins runnning on kubernetes throw errors after pod restart在 Kubernetes 上运行的 Jenkins 在 pod 重启后抛出错误
【发布时间】:2020-09-04 07:24:58
【问题描述】:

我在 kubernetes 上运行 Jenkins。在最后一次重新创建 pod 后,它无法正常工作。这是我的日志的样子:

webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
2020-09-04 07:13:09.168+0000 [id=1] INFO    org.eclipse.jetty.util.log.Log#initialized: Logging initialized @468ms to org.eclipse.jetty.util.log.JavaUtilLog
2020-09-04 07:13:09.330+0000 [id=1] INFO    winstone.Logger#logInternal: Beginning extraction from war file
2020-09-04 07:13:09.369+0000 [id=1] WARNING o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
2020-09-04 07:13:09.438+0000 [id=1] INFO    org.eclipse.jetty.server.Server#doStart: jetty-9.4.30.v20200611; built: 2020-06-11T12:34:51.929Z; git: 271836e4c1f4612f12b7bb13ef5a92a927634b0d; jvm 1.8.0_242-b08
2020-09-04 07:13:10.209+0000 [id=1] INFO    o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
2020-09-04 07:13:10.277+0000 [id=1] INFO    o.e.j.s.s.DefaultSessionIdManager#doStart: DefaultSessionIdManager workerName=node0
2020-09-04 07:13:10.278+0000 [id=1] INFO    o.e.j.s.s.DefaultSessionIdManager#doStart: No SessionScavenger set, using defaults
2020-09-04 07:13:10.285+0000 [id=1] INFO    o.e.j.server.session.HouseKeeper#startScavenging: node0 Scavenging every 600000ms
2020-09-04 07:13:10.866+0000 [id=1] INFO    hudson.WebAppMain#contextInitialized: Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
2020-09-04 07:13:11.055+0000 [id=1] INFO    o.e.j.s.handler.ContextHandler#doStart: Started w.@24105dc5{Jenkins v2.235.5,/,file:///var/jenkins_home/war/,AVAILABLE}{/var/jenkins_home/war}
2020-09-04 07:13:11.094+0000 [id=1] INFO    o.e.j.server.AbstractConnector#doStart: Started ServerConnector@90f6bfd{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2020-09-04 07:13:11.094+0000 [id=1] INFO    org.eclipse.jetty.server.Server#doStart: Started @2395ms
2020-09-04 07:13:11.100+0000 [id=20]    INFO    winstone.Logger#logInternal: Winstone Servlet Engine running: controlPort=disabled
2020-09-04 07:13:13.253+0000 [id=26]    INFO    jenkins.InitReactorRunner$1#onAttained: Started initialization
2020-09-04 07:13:14.759+0000 [id=28]    INFO    jenkins.InitReactorRunner$1#onAttained: Listed all plugins
2020-09-04 07:13:14.866+0000 [id=25]    SEVERE  jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: API v2.40 (workflow-api)
java.io.IOException: Failed to load: Pipeline: API (2.40)
 - Plugin is missing: scm-api (2.2.6)
    at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:934)
    at hudson.PluginManager$2$1$1.run(PluginManager.java:548)
    at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
    at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
    at jenkins.model.Jenkins$5.runTask(Jenkins.java:1131)
    at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
    at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
    at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
2020-09-04 07:13:15.380+0000 [id=26]    SEVERE  jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin JUnit Plugin v1.26.1 (junit)
java.io.IOException: Failed to load: JUnit Plugin (1.26.1)
 - Failed to load: Pipeline: API (2.40)
    at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:934)
    at hudson.PluginManager$2$1$1.run(PluginManager.java:548)
    at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
    at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
    at jenkins.model.Jenkins$5.runTask(Jenkins.java:1131)
    at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
    at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
    at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

一旦我描述了 pod,我可以看到运行状况检查失败

Events:
  Type     Reason     Age   From                                                  Message
  ----     ------     ----  ----                                                  -------
  Normal   Scheduled  12m   default-scheduler                                     Successfully assigned infrastructure/jenkins-694d964d7-w9xnp to ip-172-20-111-99.eu-west-1.compute.internal
  Normal   Pulling    11m   kubelet, ip-172-20-111-99.eu-west-1.compute.internal  pulling image "jenkins/jenkins:lts"
  Normal   Pulled     11m   kubelet, ip-172-20-111-99.eu-west-1.compute.internal  Successfully pulled image "jenkins/jenkins:lts"
  Normal   Created    11m   kubelet, ip-172-20-111-99.eu-west-1.compute.internal  Created container
  Normal   Started    11m   kubelet, ip-172-20-111-99.eu-west-1.compute.internal  Started container
  Normal   Pulling    1m    kubelet, ip-172-20-111-99.eu-west-1.compute.internal  pulling image "jenkins/jenkins:lts"
  Normal   Pulled     1m    kubelet, ip-172-20-111-99.eu-west-1.compute.internal  Successfully pulled image "jenkins/jenkins:lts"
  Normal   Created    1m    kubelet, ip-172-20-111-99.eu-west-1.compute.internal  Created container
  Normal   Started    1m    kubelet, ip-172-20-111-99.eu-west-1.compute.internal  Started container
  Warning  Unhealthy  5s    kubelet, ip-172-20-111-99.eu-west-1.compute.internal  Readiness probe failed: Get http://100.111.168.195:8080/login: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

Pod 状态如下所示: jenkins-694d964d7-w9xnp 0/1 Running:0/1 0 8m

知道如何解决这个问题吗?我不是 Jenkins/kubernetes 专家,我继承了这个配置。提前感谢您的帮助!

【问题讨论】:

  • 成功了吗?你是如何在 kubernetes 上安装 jenkins 的?给出 pod 列表。您是否尝试过检查 scm-api 插件的错误? jenkins 版本有什么变化吗?
  • @Vitalii 它一直工作到昨天。 Jenkins 是使用 helms 安装的。我可以看到 pod 没有正确创建 jenkins-694d964d7-w9xnp 0/1 Running:0/1 0 8m 我还在描述中添加了 pod 的事件部分

标签: jenkins kubernetes jenkins-pipeline


【解决方案1】:

这可能/可能没有帮助。尝试运行:

kubectl describe pod [pod_id_jenkins-694d964d7-w9xnp]

你可能会得到一些额外的信息。看起来您提供的任何配置都不足以导致应用程序正常启动,因此当为应用程序执行健康检查时,请求超时并且 kubernetes 报告应用程序启动失败。

还有这一行:

2020-09-04 07:13:14.866+0000 [id=25]    SEVERE  jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: API v2.40 (workflow-api)

我不知道Failed Loading plugin Pipeline: API v2.40 (workflow-api) 是什么,但似乎失败了。

【讨论】:

    猜你喜欢
    • 2021-02-16
    • 2019-03-06
    • 2017-09-29
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 2022-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多