You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: installing/installing_bare_metal/upi/installing-bare-metal.adoc
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,8 @@ In {product-title} {product-version}, you can install a cluster on bare-metal in
10
10
11
11
[IMPORTANT]
12
12
====
13
-
While you might be able to follow this procedure to deploy a cluster on virtualized or cloud environments, you must be aware of additional considerations for non-bare-metal platforms. Review the information in the link:https://access.redhat.com/articles/4207611[guidelines for deploying {product-title} on non-tested platforms] before you attempt to install an {product-title} cluster in such an environment.
13
+
While you might be able to follow this procedure to deploy a cluster on virtualized or cloud environments, you must be aware of additional
14
+
considerations for non-bare-metal platforms. Review the information in the link:https://access.redhat.com/articles/4207611[guidelines for deploying {product-title} on non-tested platforms] before you attempt to install an {product-title} cluster in such an environment.
14
15
====
15
16
16
17
== Prerequisites
@@ -24,6 +25,7 @@ While you might be able to follow this procedure to deploy a cluster on virtuali
24
25
Be sure to also review this site list if you are configuring a proxy.
25
26
====
26
27
28
+
// Internet access for OpenShift Container Platform
* xref:../../../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installation-user-provisioned-validating-dns_installing-bare-metal[Validating DNS resolution for user-provisioned infrastructure]
83
87
88
+
// Load balancing requirements for user-provisioned infrastructure
* xref:../../../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installation-user-provisioned-validating-dns_installing-bare-metal[Validating DNS resolution for user-provisioned infrastructure]
114
120
* xref:../../../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installation-load-balancing-user-infra_installing-bare-metal[Load balancing requirements for user-provisioned infrastructure]
115
121
122
+
// Validating DNS resolution for user-provisioned infrastructure
* xref:../../../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installation-dns-user-infra_installing-bare-metal[User-provisioned DNS requirements]
122
129
* xref:../../../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installation-load-balancing-user-infra_installing-bare-metal[Load balancing requirements for user-provisioned infrastructure]
123
130
131
+
// Generating a key pair for cluster node SSH access
* xref:../../../installing/installing_bare_metal/upi/installation-config-parameters-bare-metal.adoc#installation-config-parameters-bare-metal[Installation configuration parameters for bare metal]
As an alternative to using the `configure-ovs.sh` shell script to set a `br-ex` bridge on a bare-metal platform, you can create a `MachineConfig` object that includes an NMState configuration file. The host `nmstate-configuration.service` and `nmstate.service` apply the NMState configuration file to each node that runs in your cluster.
As an alternative to using the `configure-ovs.sh` shell script to set a `br-ex` bridge on a bare-metal platform, you can create a `NodeNetworkConfigurationPolicy` (NNCP) custom resource (CR) that includes an NMState configuration file. The Kubernetes NMState Operator uses the NMState configuration file to create a customized `br-ex` bridge network configuration on each node in your cluster.
As an alternative to using the `configure-ovs.sh` shell script to set a `br-ex` bridge on a bare-metal platform, you can create a `NodeNetworkConfigurationPolicy` (NNCP) custom resource (CR) that includes an NMState configuration file.
28
+
29
+
The Kubernetes NMState Operator uses the NMState configuration file to create a customized `br-ex` bridge network configuration on each node in your cluster.
<3> The requested state for the interface after creation.
135
-
<4> Disables IPv4 and IPv6 in this example.
136
-
<5> The node NIC to which the bridge attaches.
137
-
<6> Set the parameter to `48` to ensure the `br-ex` default route always has the highest precedence (lowest metric). This configuration prevents routing conflicts with any other interfaces that are automatically configured by the `NetworkManager` service.
134
+
+
135
+
where:
136
+
+
137
+
`interfaces.name`:: Name of the interface.
138
+
`interfaces.type`:: The type of ethernet.
139
+
`interfaces.state`:: The requested state for the interface after creation.
140
+
`ipv4.enabled`:: Disables IPv4 and IPv6 in this example.
141
+
`port.name`:: The node NIC to which the bridge attaches.
142
+
`auto-route-metric`:: Set the parameter to `48` to ensure the `br-ex` default route always has the highest precedence (lowest metric). This configuration prevents routing conflicts with any other interfaces that are automatically configured by the `NetworkManager` service.
138
143
139
144
. Use the `cat` command to base64-encode the contents of the NMState configuration:
140
145
+
141
146
[source,terminal]
142
147
----
143
-
$ cat <nmstate_configuration>.yaml | base64 <1>
148
+
$ cat <nmstate_configuration>.yml | base64
144
149
----
145
-
<1> Replace `<nmstate_configuration>` with the name of your NMState resource YAML file.
150
+
+
151
+
where:
152
+
+
153
+
`<nmstate_configuration>`:: Replace `<nmstate_configuration>` with the name of your NMState resource YAML file.
146
154
147
155
. Create a `MachineConfig` manifest file and define a customized `br-ex` bridge network configuration analogous to the following example:
<2> Writes the encoded base64 information to the specified path.
177
-
<3> For each node in your cluster, specify the hostname path to your node and the base-64 encoded Ignition configuration file data for the machine type. The `worker` role is the default role for nodes in your cluster. The `.yaml` extension does not work when specifying the short hostname, `hostname -s`, path for each node or all nodes in the `MachineConfig` manifest file.
183
+
+
184
+
where:
185
+
+
186
+
`metadata.name`:: The name of the policy.
187
+
`contents.source`:: Writes the encoded base64 information to the specified path.
188
+
`path`:: For each node in your cluster, specify the hostname path to your node and the base-64 encoded Ignition configuration file data for the machine type. The `worker` role is the default role for nodes in your cluster. You must use the `.yml` extension for configuration files, such as `$(hostname -s).yml` when specifying the short hostname path for each node or all nodes in the `MachineConfig` manifest file.
178
189
+
179
190
If you have a single global configuration specified in an `/etc/nmstate/openshift/cluster.yml` configuration file that you want to apply to all nodes in your cluster, you do not need to specify the short hostname path for each node, such as `/etc/nmstate/openshift/<node_hostname>.yml`. For example:
180
191
+
@@ -188,35 +199,39 @@ If you have a single global configuration specified in an `/etc/nmstate/openshif
188
199
path: /etc/nmstate/openshift/cluster.yml
189
200
# ...
190
201
----
202
+
203
+
. Apply the updates from the `MachineConfig` object to your cluster by entering the following command:
* Create a `NodeNetworkConfigurationPolicy` (NNCP) CR and define a customized `br-ex` bridge network configuration. Depending on your needs, ensure that you set a masquerade IP for either the `ipv4.address.ip`, `ipv6.address.ip`, or both parameters. Always include a masquerade IP address in the NNCP CR and this address must match an in-use IP address block.
211
+
ifdef::postinstall-bare-metal[]
212
+
* Create a `NodeNetworkConfigurationPolicy` (NNCP) CR and define a customized `br-ex` bridge network configuration. The `br-ex` NNCP CR must include the OVN-Kubernetes masquerade IP address and subnet of your network. The example NNCP CR includes default values in the `ipv4.address.ip` and `ipv6.address.ip`parameters. You can set the masquerade IP address in the `ipv4.address.ip`, `ipv6.address.ip`, or both parameters.
195
213
+
196
214
[IMPORTANT]
197
215
====
198
-
As a post-installation task, you can configure most parameters for a customized `br-ex` bridge that you defined in an existing NNCP CR, except for the primary IP address of the customized `br-ex` bridge.
199
-
200
-
If you want to convert your single-stack cluster network to a dual-stack cluster network, you can add or change a secondary IPv6 address in the NNCP CR, but the existing primary IP address cannot be changed.
216
+
As a post-installation task, you cannot change the primary IP address of the customized `br-ex` bridge. If you want to convert your single-stack cluster network to a dual-stack cluster network, you can add or change a secondary IPv6 address in the NNCP CR, but the existing primary IP address cannot be changed.
201
217
====
202
218
+
203
-
.Example of an NNCP CR that sets IPv6 and IPv4 masquerade IP addresses
204
219
[source,yaml]
205
220
----
206
221
apiVersion: nmstate.io/v1
207
222
kind: NodeNetworkConfigurationPolicy
208
223
metadata:
209
-
name: worker-0-br-ex <1>
224
+
name: worker-0-br-ex
210
225
spec:
211
226
nodeSelector:
212
227
kubernetes.io/hostname: worker-0
213
228
desiredState:
214
229
interfaces:
215
-
- name: enp2s0 <2>
216
-
type: ethernet <3>
217
-
state: up <4>
230
+
- name: enp2s0
231
+
type: ethernet
232
+
state: up
218
233
ipv4:
219
-
enabled: false <5>
234
+
enabled: false
220
235
ipv6:
221
236
enabled: false
222
237
- name: br-ex
@@ -232,7 +247,7 @@ spec:
232
247
options:
233
248
mcast-snooping-enable: true
234
249
port:
235
-
- name: enp2s0 <6>
250
+
- name: enp2s0
236
251
- name: br-ex
237
252
- name: br-ex
238
253
type: ovs-interface
@@ -241,27 +256,31 @@ spec:
241
256
ipv4:
242
257
enabled: true
243
258
dhcp: true
244
-
auto-route-metric: 48 <7>
259
+
auto-route-metric: 48
245
260
address:
246
-
- ip: "169.254.169.2"
247
-
prefix-length: 29
261
+
- ip: "169.254.0.2"
262
+
prefix-length: 17
248
263
ipv6:
249
264
enabled: true
250
265
dhcp: true
251
266
auto-route-metric: 48
252
267
address:
253
268
- ip: "fd69::2"
254
-
prefix-length: 125
269
+
prefix-length: 112
255
270
# ...
256
271
----
257
-
<1> Name of the policy.
258
-
<2> Name of the interface.
259
-
<3> The type of ethernet.
260
-
<4> The requested state for the interface after creation.
261
-
<5> Disables IPv4 and IPv6 in this example.
262
-
<6> The node NIC to which the bridge is attached.
263
-
<7> Set the parameter to `48` to ensure the `br-ex` default route always has the highest precedence (lowest metric). This configuration prevents routing conflicts with any other interfaces that are automatically configured by the `NetworkManager` service.
`interfaces.state`:: The requested state for the interface after creation.
279
+
`ipv4.enabled`:: Disables IPv4 and IPv6 in this example.
280
+
`port.name`:: The node NIC to which the bridge is attached.
281
+
`address.ip`:: Shows the default IPv4 and IPv6 IP addresses. Ensure that you set the masquerade IPv4 and IPv6 IP addresses of your network.
282
+
`auto-route-metric`:: Set the parameter to `48` to ensure the `br-ex` default route always has the highest precedence (lowest metric). This configuration prevents routing conflicts with any other interfaces that are automatically configured by the `NetworkManager` service.
Copy file name to clipboardExpand all lines: modules/ipi-install-additional-install-config-parameters.adoc
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -119,7 +119,7 @@ a| `provisioningNetworkInterface` | | The name of the network interface on node
119
119
120
120
| `apiVIPs` | a| (Optional) The virtual IP address for Kubernetes API communication.
121
121
122
-
You must either provide this setting in the `install-config.yaml` file as a reserved IP from the `MachineNetwork` parameter or preconfigured in the DNS so that the default name resolves correctly. Use the virtual IP address and not the FQDN when adding a value to the `apiVIPs` configuration setting in the `install-config.yaml` file. The primary IP address must be from the IPv4 network when using dual stack networking. If not set, the installation program uses `api.<cluster_name>.<base_domain>` to derive the IP address from the DNS.
122
+
You must either provide this setting in the `install-config.yaml` file as a reserved IP from the `MachineNetwork` parameter or preconfigured in the DNS so that the default name resolves correctly. Use the virtual IP address and not the FQDN when adding a value to the `apiVIPs` configuration setting in the `install-config.yaml` file. For dual-stack networking, the primary IP address can be either an IPv4 network or an IPv6 network. If not set, the installation program uses `api.<cluster_name>.<base_domain>` to derive the IP address from the DNS.
123
123
124
124
[NOTE]
125
125
====
@@ -131,7 +131,7 @@ Before {product-title} 4.12, the cluster installation program only accepted an I
131
131
132
132
| `ingressVIPs` | a| (Optional) The virtual IP address for ingress traffic.
133
133
134
-
You must either provide this setting in the `install-config.yaml` file as a reserved IP from the `MachineNetwork` parameter or preconfigured in the DNS so that the default name resolves correctly. Use the virtual IP address and not the FQDN when adding a value to the `ingressVIPs` configuration setting in the `install-config.yaml` file. The primary IP address must be from the IPv4 network when using dual stack networking. If not set, the installation program uses `test.apps.<cluster_name>.<base_domain>` to derive the IP address from the DNS.
134
+
You must either provide this setting in the `install-config.yaml` file as a reserved IP from the `MachineNetwork` parameter or preconfigured in the DNS so that the default name resolves correctly. Use the virtual IP address and not the FQDN when adding a value to the `ingressVIPs` configuration setting in the `install-config.yaml` file. For dual-stack networking, the primary IP address can be either an IPv4 network or an IPv6 network. If not set, the installation program uses `test.apps.<cluster_name>.<base_domain>` to derive the IP address from the DNS.
Copy file name to clipboardExpand all lines: networking/k8s_nmstate/k8s-nmstate-updating-node-network-config.adoc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ For more information about how to install the NMState Operator, see xref:../../n
13
13
14
14
[IMPORTANT]
15
15
====
16
-
You cannot provide any configuration that modifies the br-ex bridge, an OVN-Kubernetes-managed Open vSwitch bridge. However, you can configure a customized br-ex bridge.
16
+
You cannot modify an existing `br-ex` bridge, an OVN-Kubernetes-managed Open vSwitch bridge, or any interfaces, bonds, VLANs, and so on that associate with the `br-ex` bridge. However, you can configure a customized br-ex bridge.
17
17
18
18
For more information, see "Creating a manifest object that includes a customized br-ex bridge" in the _Deploying installer-provisioned clusters on bare metal_ document or the _Installing a user-provisioned cluster on bare metal_ document.
0 commit comments