[JIRA] (JENKINS-59649) Inter-pod and external communication

3 views
Skip to first unread message

95jonpet@gmail.com (JIRA)

unread,
Oct 3, 2019, 1:18:03 PM10/3/19
to jenkinsc...@googlegroups.com
Peter Jonsson created an issue
 
Jenkins / New Feature JENKINS-59649
Inter-pod and external communication
Issue Type: New Feature New Feature
Assignee: Unassigned
Components: kubernetes-plugin
Created: 2019-10-03 17:17
Priority: Minor Minor
Reporter: Peter Jonsson

Sometimes, it is not always possible to put everything inside the same Kubernetes pod - or inside a container at all.

Any of the following reasons can make it troublesome:

  • Already existing tooling.
  • Licensing that is not adapted to containerization or that outright does not allow containerization.
  • Operating systems that cannot be containerized (i.e. macOS).
  • Purchased and packaged solutions.
  • Legacy systems that are either infeasible to port or too expensive to make it viable.

I am sure that there are even more reasons.

A concrete example is to use Selenium from a Windows-based agent that does not reside within the Kubernetes cluster to execute tests on a server that is deployed to Kubernetes using the plugin.
How would the non-container Selenium instance know where a website is hosted within the Kubernetes pod?

Thus, there is a use case for interfacing with Kubernetes containers/pods from outside the pod, in which case other containers can no longer be interacted with using `localhost`.
In order to use the Kubernetes plugin with other external (i.e. outside of the pod) Jenkins agents there must be a way of addressing the specific pod through either an IP-address or some "magic" DNS-alias.

Preferably, this should work within a declarative pipeline as a scripted pipeline could read the IP from the containers using an sh command and store it in a variable for future use.

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.13.6#713006-sha1:cc4451f)
Atlassian logo

95jonpet@gmail.com (JIRA)

unread,
Oct 4, 2019, 11:44:02 AM10/4/19
to jenkinsc...@googlegroups.com
Peter Jonsson updated an issue
Change By: Peter Jonsson
Sometimes, it It is not always possible to put everything inside the same Kubernetes pod - or inside a container at all.


Any of the following reasons can make it troublesome:
* Already existing tooling.
* Licensing that is not adapted to containerization or that outright does not allow containerization.
* Operating systems that cannot be containerized (i.e. macOS).
* Purchased and packaged solutions.
* Legacy systems that are either infeasible to port or too expensive to make it viable.


I am sure that there are even more reasons.

A concrete example is to use Selenium from a Windows-based agent that does not reside within the Kubernetes cluster to execute tests on a server that is deployed to Kubernetes using the plugin.
How would the non-container Selenium instance know where a website is hosted within the Kubernetes pod?

Thus, there is a use case for interfacing with Kubernetes containers/pods from outside the pod, in which case other containers can no longer be interacted with using `localhost`.
In order to use the Kubernetes plugin with other external (i.e. outside of the pod) Jenkins agents there must be a way of addressing the specific pod through either an IP-address or some "magic" DNS-alias.

Preferably, this should work within a declarative pipeline as a scripted pipeline could read the IP from the containers using an sh command and store it in a variable for future use.
Reply all
Reply to author
Forward
0 new messages