Chapter 14. Configuring the node port service range
During cluster installation, you can configure the node port range to meet the requirements of your cluster. After cluster installation, only a cluster administrator can expand the range as a postinstallation task. If your cluster uses a large number of node ports, consider increasing the available port range according to the requirements of your cluster.
Before you expand a node port range, consider that Red Hat has not performed testing outside the default port range of 30000-32768
. For ranges outside the default port range, ensure that you test to verify the expanding node port range does not impact your cluster. If you expanded the range and a port allocation issue occurs, create a new cluster and set the required range for it.
If you do not set a node port range during cluster installation, the default range of 30000-32768
applies to your cluster. In this situation, you can expand the range on either side, but you must preserve 30000-32768
within your new port range.
If you expand the node port range and OpenShift CLI (oc
) stops working because of a port conflict with the OpenShift API server, you must create a new cluster. Ensure that the new node port range does not overlap with any ports already in use by host processes or pods that are configured with host networking.
14.1. Expanding the node port range
You can expand the node port range for your cluster. However, after you install your OpenShift Container Platform cluster, you cannot contract the node port range on either side.
Before you expand a node port range, consider that Red Hat has not performed testing outside the default port range of 30000-32768
. For ranges outside the default port range, ensure that you test to verify the expanding node port range does not impact your cluster. If you expanded the range and a port allocation issue occurs, create a new cluster and set the required range for it.
Prerequisites
-
Installed the OpenShift CLI (
oc
). -
Logged in to the cluster as a user with
cluster-admin
privileges. -
You ensured that your cluster infrastructure allows access to the ports that exist in the extended range. For example, if you expand the node port range to
30000-32900
, your firewall or packet filtering configuration must allow the inclusive port range of30000-32900
.
Procedure
Expand the range for the
serviceNodePortRange
parameter in thenetwork.config.openshift.io
object that your cluster uses to manage traffic for pods by entering the following command in your command-line interface (CLI):oc patch network.config.openshift.io cluster --type=merge -p \ '{
$ oc patch network.config.openshift.io cluster --type=merge -p \ '{ "spec": { "serviceNodePortRange": "<port_range>" }
1 }'
Copy to Clipboard Copied! - 1
- Where
<port_range>
is your expanded range, such as30000-32900
.
TipYou can also apply the following YAML to update the node port range:
apiVersion: config.openshift.io/v1 kind: Network metadata: name: cluster spec: serviceNodePortRange: "<port_range>" # ...
apiVersion: config.openshift.io/v1 kind: Network metadata: name: cluster spec: serviceNodePortRange: "<port_range>" # ...
Copy to Clipboard Copied! Example output
network.config.openshift.io/cluster patched
network.config.openshift.io/cluster patched
Copy to Clipboard Copied!
Verification
To confirm a successful configuration, enter the following command. The update can take several minutes to apply.
oc get configmaps -n openshift-kube-apiserver config \ -o jsonpath="{.data['config\.yaml']}" | \ grep -Eo '"service-node-port-range":["[[:digit:]]+-[[:digit:]]+"]'
$ oc get configmaps -n openshift-kube-apiserver config \ -o jsonpath="{.data['config\.yaml']}" | \ grep -Eo '"service-node-port-range":["[[:digit:]]+-[[:digit:]]+"]'
Copy to Clipboard Copied! Example output
"service-node-port-range":["30000-32900"]
"service-node-port-range":["30000-32900"]
Copy to Clipboard Copied!