简体   繁体   中英

Getting Error while running jenkins in minikube

On running jenkins inside the pod it is showing jenkins is up and running but with this long error.

Command i executed inside the pod:

docker run --name=jenkins-container docker-jenkins

Error Log:

 Running from: /usr/share/jenkins/jenkins.war
    webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
    2020-06-07 03:32:13.394+0000 [id=1]     INFO    org.eclipse.jetty.util.log.Log#initialized: Logging initialized @519ms to org.eclipse.jetty.util.log.JavaUtilLog
    2020-06-07 03:32:13.588+0000 [id=1]     INFO    winstone.Logger#logInternal: Beginning extraction from war file
    2020-06-07 03:32:15.180+0000 [id=1]     WARNING o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
    2020-06-07 03:32:15.302+0000 [id=1]     INFO    org.eclipse.jetty.server.Server#doStart: jetty-9.4.27.v20200227; built: 2020-02-27T18:37:21.340Z; git: a304fd9f351f337e7c0e2a7c28878dd536149c6c; jvm 1.8.0_242-b08
    2020-06-07 03:32:15.764+0000 [id=1]     INFO    o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
    2020-06-07 03:32:15.888+0000 [id=1]     INFO    o.e.j.s.s.DefaultSessionIdManager#doStart: DefaultSessionIdManager workerName=node0
    2020-06-07 03:32:15.888+0000 [id=1]     INFO    o.e.j.s.s.DefaultSessionIdManager#doStart: No SessionScavenger set, using defaults
    2020-06-07 03:32:15.897+0000 [id=1]     INFO    o.e.j.server.session.HouseKeeper#startScavenging: node0 Scavenging every 660000ms
    2020-06-07 03:32:16.757+0000 [id=1]     INFO    hudson.WebAppMain#contextInitialized: Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
    2020-06-07 03:32:16.944+0000 [id=1]     INFO    o.e.j.s.handler.ContextHandler#doStart: Started w.@5b800468{Jenkins v2.239,/,file:///var/jenkins_home/war/,AVAILABLE}{/var/jenkins_home/war}
    2020-06-07 03:32:17.001+0000 [id=1]     INFO    o.e.j.server.AbstractConnector#doStart: Started ServerConnector@6f43c82{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
    2020-06-07 03:32:17.001+0000 [id=1]     INFO    org.eclipse.jetty.server.Server#doStart: Started @4126ms
    2020-06-07 03:32:17.003+0000 [id=21]    INFO    winstone.Logger#logInternal: Winstone Servlet Engine running: controlPort=disabled
    2020-06-07 03:32:18.622+0000 [id=27]    INFO    jenkins.InitReactorRunner$1#onAttained: Started initialization
    2020-06-07 03:32:18.725+0000 [id=27]    INFO    jenkins.InitReactorRunner$1#onAttained: Listed all plugins
    2020-06-07 03:32:20.825+0000 [id=33]    INFO    jenkins.InitReactorRunner$1#onAttained: Prepared all plugins
    2020-06-07 03:32:20.838+0000 [id=28]    INFO    jenkins.InitReactorRunner$1#onAttained: Started all plugins
    2020-06-07 03:32:20.863+0000 [id=31]    INFO    jenkins.InitReactorRunner$1#onAttained: Augmented all extensions
    2020-06-07 03:32:21.808+0000 [id=26]    INFO    jenkins.InitReactorRunner$1#onAttained: System config loaded
    2020-06-07 03:32:21.809+0000 [id=29]    INFO    jenkins.InitReactorRunner$1#onAttained: System config adapted
    2020-06-07 03:32:21.957+0000 [id=26]    INFO    jenkins.InitReactorRunner$1#onAttained: Loaded all jobs
    2020-06-07 03:32:21.960+0000 [id=28]    INFO    jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated
    2020-06-07 03:32:22.086+0000 [id=46]    INFO    hudson.model.AsyncPeriodicWork#lambda$doRun$0: Started Download metadata
    2020-06-07 03:32:22.136+0000 [id=46]    INFO    hudson.util.Retrier#start: Attempt #1 to do the action check updates server
    2020-06-07 03:32:22.635+0000 [id=27]    INFO    jenkins.install.UpgradeWizard#applyForcedChanges: New API token system configured with insecure options to keep legacy behavior
    2020-06-07 03:32:22.884+0000 [id=46]    INFO    hudson.util.Retrier#start: The attempt #1 to do the action check updates server failed with an allowed exception:
    java.net.NoRouteToHostException: No route to host (Host unreachable)
            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.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:666)
            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.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
            at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
            at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
            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.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
            at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
            at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
            at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
            at hudson.model.DownloadService.loadJSON(DownloadService.java:114)
            at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:212)
            at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:207)
            at hudson.PluginManager.checkUpdatesServer(PluginManager.java:1767)
            at hudson.util.Retrier.start(Retrier.java:63)
            at hudson.PluginManager.doCheckUpdatesServer(PluginManager.java:1738)
            at jenkins.DailyCheck.execute(DailyCheck.java:93)
            at hudson.model.AsyncPeriodicWork.lambda$doRun$0(AsyncPeriodicWork.java:100)
            at java.lang.Thread.run(Thread.java:748)
    2020-06-07 03:32:22.885+0000 [id=46]    INFO    hudson.util.Retrier#start: Calling the listener of the allowed exception 'No route to host (Host unreachable)' at the attempt #1 to do the action check updates server
    2020-06-07 03:32:22.887+0000 [id=46]    INFO    hudson.util.Retrier#start: Attempted the action check updates server for 1 time(s) with no success
    2020-06-07 03:32:22.888+0000 [id=46]    SEVERE  hudson.PluginManager#doCheckUpdatesServer: Error checking update sites for 1 attempt(s). Last exception was: NoRouteToHostException: No route to host (Host unreachable)
    2020-06-07 03:32:22.900+0000 [id=46]    INFO    hudson.model.AsyncPeriodicWork#lambda$doRun$0: Finished Download metadata. 802 ms
    2020-06-07 03:32:23.166+0000 [id=32]    INFO    jenkins.InitReactorRunner$1#onAttained: Completed initialization
    2020-06-07 03:32:23.393+0000 [id=20]    INFO    hudson.WebAppMain$3#run: Jenkins is fully up and running

Any Solution?

How to deploy jenkins on kubernetes and execute it

On running Jenkins inside the pod Command I executed inside the pod: docker run --name=jenkins-container docker-jenkins

Pod runs Docker Container and if the Jenkins is started from inside the Pod with the docker run , the Jenkins would be a "Docker in Docker".

It's possible to run into a lot of problems with Docker running inside another Docker container. A better approach is that a container does not run its own Docker daemon, but connects to the Docker daemon of the host system.

A better solution would be to run Jenkins as a Pod (and not as a container inside the Pod).

How to deploy Jenkins on Kubernetes and execute it

There is an already good script that allows you to set up a persistent Jenkins master with dynamically spun up Jenkins slaves on minikube. Basically it refers to the following ( verified ) full tutorial on how to set up Jenkins on minikube .

Hope that helps.

The error is related to checking the Internet server for Jenkins plugins' updates.

hudson.PluginManager#doCheckUpdatesServer: Error checking update sites for 1 attempt(s). Last exception was: NoRouteToHostException: No route to host (Host unreachable)

Literally it caused by incorrect network configuration inside the container: no static IP route to the update server and no default IP route either.

If you run Docker in Docker you have to take care about the proper network configuration for that.

Minikube deployments is usually for testing purposes only, so you can completely ignore that error. But the root cause of that error could prevent you from installing plugins and from using other Internet or LAN resources in your Jobs.

As Nick already mentioned , it's better to deploy Jenkins in a "Kubernetes way", using kubectl , Helm , or Jenkins operator .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM