Bug 1313910 - [DOCS] Lack of information on NodePorts
[DOCS] Lack of information on NodePorts
Product: OpenShift Container Platform
Classification: Red Hat
Component: Documentation (Show other bugs)
Unspecified Unspecified
high Severity medium
: ---
: ---
Assigned To: Gaurav Nelson
zhou ying
Vikram Goyal
Depends On:
  Show dependency treegraph
Reported: 2016-03-02 10:22 EST by Eric Jones
Modified: 2017-10-25 21:11 EDT (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2017-10-25 21:11:36 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 2159611 None None None 2016-03-08 09:36 EST

  None (edit)
Description Eric Jones 2016-03-02 10:22:46 EST
Document URL: 

Section Number and Name: 

Describe the issue: 
In bug #: 1287471 the below was suggested for opening up ports beyond HTTP(s):

Our recommendation is to use Service NodePorts with the product today for this function.  Our documentation should describe how to make service node ports HA by leveraging the same mechanisms the routers use to be HA.

However, I cannot seem to find the documentation that could be used to accomplish that goal.

Suggestions for improvement: 
Create this documentation.
Comment 1 Eric Jones 2016-03-07 11:27:38 EST
Bug number 1303232 was closed in favor of 1287471

They both make some reference to using nodePorts to achieve the goal of using non-HTTP(s) routing and they both suggest that the documentation should exist on how to do this.

@Clayton, as you made these suggestions, can you help create this documentation?
Comment 4 Gaurav Nelson 2017-09-11 22:08:51 EDT
Updated the docs to include the example provided in attached solution. Please review the changes in PR https://github.com/openshift/openshift-docs/pull/5237
Comment 5 Gaurav Nelson 2017-09-17 22:08:12 EDT
Hello Eric, can you please review this PR?
Comment 7 Phil Cameron 2017-09-19 13:05:11 EDT
erjones@redhat.com I am not sure what you would like to achieve with HA and node ports. The nodeport is bound to the service on every node in the cluster. So if you can get traffic to any node in the cluster it will go the service which will load balance it to some endpoint.
Comment 10 Phil Cameron 2017-09-29 08:54:32 EDT
See: https://docs.openshift.com/container-platform/3.6/dev_guide/getting_traffic_into_cluster.html

This should have what you need. If not add the info there.

HA is different for routers and services. 

Routers run on specific nodes in the cluster and external network admins must get the desired traffic to the node that is running the router. To make this high availability we increase the router replicas and use ipfailover to make a virtual IP (VIP) land on one of the nodes that is running a router replica. The external admin must get traffic to the VIP. The VIP will be on a node with a router.

For services, the nodeport is listening on all nodes in the cluster. The service will have multiple endpoints (typically the DC or RC has replicas > 1) If you manage to get traffic to any of the nodes in the cluster the nodeport will connect and traffic will go to one of the endpoints.
Comment 12 Clayton Coleman 2017-10-17 03:41:55 EDT
The V1 docs (referenced above) are out of date.  I would expect NodePort to scale at least as high as anything except dedicated routing and switching technology or hardware assisted routing, but you'll need to have a layer in front to ensure traffic reaches the appropriate nodes (whether that's a TCP load balancer, ECMP routing, etc).  I commented on the Pr
Comment 13 Gaurav Nelson 2017-10-18 21:26:10 EDT
Thanks Clayton, I have updated the PR to include information provided.
Comment 14 zhou ying 2017-10-19 01:43:47 EDT
 Gaurav Nelson:

   The PR LGTM, will verify this issue.
Comment 15 openshift-github-bot 2017-10-23 01:11:30 EDT
Commit pushed to master at https://github.com/openshift/openshift-docs

Merge pull request #5237 from gaurav-nelson/Bug1313910Fixes

Bug#1313910 fixes - added information on nodePorts

Note You need to log in before you can comment on or make changes to this bug.