Search code examples
jenkins-pipelinekubernetes-jenkins-plugin

The Jenkins tunnel address which I specify in the Jenkins->Configure Cloud does not seem to work. Can someone help me with the same?


I have a kubernetes cluster running on GKE and a Jenkins server running on a GCP instance. I am using the Kubernetes plugin to dynamically create pods on the kubernetes cluster. I created a pipeline(Declarative syntax) for the same. So I am aware that the Jenkins slave agents communicates with the Jenkins master on port 50000. A snip of the configuration

But for some reason when I viewed the logs for the JNLP container creates by Jenkins, I received an exception - tcpSlaveAgentListener not found. A snip of the container log According to the above image, I assume the tunneling is unsuccessful as it is trying to connect to http://34.90.46.204:8080/tcpSlaveAgentListener/ whereas it should connect to http://34.90.46.204:50000/tcpSlaveAgentListener/.


Solution

  • It was a lazy question for me to ask, but I solved the issue.

    In the Manage Jenkins-> Configure Global Security settings:

    For the option on setting a port for TCP inbound agents: unselect the disable option which is selected by default and then provide a port for the inbound agents to interact on (50000). A snip of the configuration Jenkins uses a TCP port to communicate with agents connected inbound. If you're going to use inbound agents, you can allow the system to randomly select a port at launch (this avoids interfering with other programs, including other Jenkins instances). As it's hard for firewalls to secure a random port, you can instead specify a fixed port number and configure your firewall accordingly.

    Hope this helps someone.