Skip to content

Commit afdcf62

Browse files
authored
Merge pull request #41781 from aireilly/BZ2051835
BZ#2051835 - adding clarification for DHCP infinite lease
2 parents 1551776 + c9ddbf3 commit afdcf62

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

modules/ipi-install-network-requirements.adoc

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Installer-provisioned installation of {product-title} involves several network r
99

1010
image::210_OpenShift_Baremetal_IPI_Deployment_updates_0122_2.png[Installer-provisioned networking]
1111

12-
[discrete]
12+
[id='network-requirements-config-nics_{context}']
1313
== Configuring NICs
1414

1515
{product-title} deploys with two networks:
@@ -27,7 +27,7 @@ The `provisioning` network is optional, but it is required for PXE booting. If y
2727
When using a VLAN, each NIC must be on a separate VLAN corresponding to the appropriate network.
2828
====
2929

30-
[discrete]
30+
[id='network-requirements-dns_{context}']
3131
== DNS requirements
3232

3333
Clients access the {product-title} cluster nodes over the `baremetal` network. A network administrator must configure a subdomain or subzone where the canonical name extension is the cluster name.
@@ -80,14 +80,14 @@ For example, `console-openshift-console.apps.<cluster_name>.<base_domain>` is us
8080
You can use the `dig` command to verify DNS resolution.
8181
====
8282

83-
[discrete]
83+
[id='network-requirements-dhcp-reqs_{context}']
8484
== Dynamic Host Configuration Protocol (DHCP) requirements
8585

8686
By default, installer-provisioned installation deploys `ironic-dnsmasq` with DHCP enabled for the `provisioning` network. No other DHCP servers should be running on the `provisioning` network when the `provisioningNetwork` configuration setting is set to `managed`, which is the default value. If you have a DHCP server running on the `provisioning` network, you must set the `provisioningNetwork` configuration setting to `unmanaged` in the `install-config.yaml` file.
8787

8888
Network administrators must reserve IP addresses for each node in the {product-title} cluster for the `baremetal` network on an external DHCP server.
8989

90-
[discrete]
90+
[id='network-requirements-reserving-ip-addresses_{context}']
9191
== Reserving IP addresses for nodes with the DHCP server
9292

9393
For the `baremetal` network, a network administrator must reserve a number of IP addresses, including:
@@ -107,6 +107,12 @@ For the `baremetal` network, a network administrator must reserve a number of IP
107107
Some administrators prefer to use static IP addresses so that each node's IP address remains constant in the absence of a DHCP server. To use static IP addresses in the {product-title} cluster, reserve the IP addresses with an infinite lease. During deployment, the installer will reconfigure the NICs from DHCP assigned addresses to static IP addresses. NICs with DHCP leases that are not infinite will remain configured to use DHCP.
108108
====
109109

110+
[IMPORTANT]
111+
.Ensuring that your DHCP server can provide infinite leases
112+
====
113+
Your DHCP server must provide a DHCP expiration time of 4294967295 seconds to properly set an infinite lease as specified by link:https://datatracker.ietf.org/doc/html/rfc2131[rfc2131]. If a lesser value is returned for the DHCP infinite lease time, the node reports an error and a static IP is not set for the node. In RHEL 8, `dhcpd` does not provides infinite leases. If you want to use the provisioner node to serve dynamic IP addresses with infinite lease times, use `dnsmasq` rather than `dhcpd`.
114+
====
115+
110116
[IMPORTANT]
111117
.Networking between external load balancers and control plane nodes
112118
====
@@ -134,7 +140,7 @@ The following table provides an exemplary embodiment of fully qualified domain n
134140
If you do not create DHCP reservations, the installer requires reverse DNS resolution to set the hostnames for the Kubernetes API node, the provisioner node, the control plane nodes, and the worker nodes.
135141
====
136142

137-
[discrete]
143+
[id='network-requirements-ntp_{context}']
138144
== Network Time Protocol (NTP)
139145

140146
Each {product-title} node in the cluster must have access to an NTP server. {product-title} nodes use NTP to synchronize their clocks. For example, cluster nodes use SSL certificates that require validation, which might fail if the date and time between the nodes are not in sync.
@@ -146,7 +152,7 @@ Define a consistent clock date and time format in each cluster node's BIOS setti
146152

147153
You can reconfigure the control plane nodes to act as NTP servers on disconnected clusters, and reconfigure worker nodes to retrieve time from the control plane nodes.
148154

149-
[discrete]
155+
[id='network-requirements-state-config_{context}']
150156
== State-driven network configuration requirements (Technology Preview)
151157

152158
{product-title} supports additional post-installation state-driven network configuration on the secondary network interfaces of cluster nodes using `kubernetes-nmstate`. For example, system administrators might configure a secondary network interface on cluster nodes after installation for a storage network.
@@ -158,7 +164,7 @@ Configuration must occur before scheduling pods.
158164

159165
State-driven network configuration requires installing `kubernetes-nmstate`, and also requires Network Manager running on the cluster nodes. See *OpenShift Virtualization > Kubernetes NMState (Tech Preview)* for additional details.
160166

161-
[discrete]
167+
[id='network-requirements-out-of-band_{context}']
162168
== Port access for the out-of-band management IP address
163169

164170
The out-of-band management IP address is on a separate network from the node. To ensure that the out-of-band management can communicate with the `baremetal` node during installation, the out-of-band management IP address address must be granted access to the TCP 6180 port.

0 commit comments

Comments
 (0)