1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-06 06:46:26 +01:00

OSDOCS-17013-bm-upi-3

This commit is contained in:
dfitzmau
2025-12-16 12:44:50 +00:00
committed by openshift-cherrypick-robot
parent 62fcf459f2
commit 84cfbb08e4
31 changed files with 1117 additions and 670 deletions

View File

@@ -207,7 +207,23 @@ include::modules/installation-user-infra-machines-advanced-customizing-live-iscs
:boot-media!:
:boot!:
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/bonding-multiple-network-interfaces-to-single-interface.adoc[leveloffset=+3]
include::modules/bonding-multiple-sriov-network-interfaces-to-dual-port.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-coreos-installer-options.adoc[leveloffset=+3]
include::modules/rhcos-enabling-multipath.adoc[leveloffset=+2]

View File

@@ -57,9 +57,6 @@ include::modules/csr-management.adoc[leveloffset=+2]
* xref:../../../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installation-three-node-cluster_installing-bare-metal[Configuring a three-node cluster]
* xref:../../../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installation-approve-csrs_installing-bare-metal[Approving the certificate signing requests for your machines]
[role="_additional-resources"]
.Additional resources
* xref:../../../installing/installing_vsphere/upi/installing-vsphere.adoc#installation-vsphere-machines_installing-vsphere[Installing RHCOS and starting the {product-title} bootstrap process]
// Networking requirements for user-provisioned infrastructure
@@ -199,15 +196,15 @@ include::modules/installation-user-infra-machines-advanced-customizing-iso-or-px
:boot: iso
include::modules/installation-user-infra-machines-advanced-customizing-live.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-advanced-customizing-live-serial-console.adoc[leveloffset=+4]
include::modules/installation-user-infra-machines-advanced-customizing-live-serial-console.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-advanced-customizing-live-ca-certs.adoc[leveloffset=+4]
include::modules/installation-user-infra-machines-advanced-customizing-live-ca-certs.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-advanced-customizing-live-network-config.adoc[leveloffset=+4]
include::modules/installation-user-infra-machines-advanced-customizing-live-network-config.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-advanced-customizing-live-iscsi-manual.adoc[leveloffset=+4]
include::modules/installation-user-infra-machines-advanced-customizing-live-iscsi-manual.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-advanced-customizing-live-iscsi-ibft.adoc[leveloffset=+4]
include::modules/installation-user-infra-machines-advanced-customizing-live-iscsi-ibft.adoc[leveloffset=+3]
:boot-media!:
:boot!:
@@ -216,20 +213,36 @@ include::modules/installation-user-infra-machines-advanced-customizing-live-iscs
:boot: pxe
include::modules/installation-user-infra-machines-advanced-customizing-live.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-advanced-customizing-live-serial-console.adoc[leveloffset=+4]
include::modules/installation-user-infra-machines-advanced-customizing-live-serial-console.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-advanced-customizing-live-ca-certs.adoc[leveloffset=+4]
include::modules/installation-user-infra-machines-advanced-customizing-live-ca-certs.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-advanced-customizing-live-network-config.adoc[leveloffset=+4]
include::modules/installation-user-infra-machines-advanced-customizing-live-network-config.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-advanced-customizing-live-iscsi-manual.adoc[leveloffset=+4]
include::modules/installation-user-infra-machines-advanced-customizing-live-iscsi-manual.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-advanced-customizing-live-iscsi-ibft.adoc[leveloffset=+4]
include::modules/installation-user-infra-machines-advanced-customizing-live-iscsi-ibft.adoc[leveloffset=+3]
:boot-media!:
:boot!:
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/bonding-multiple-network-interfaces-to-single-interface.adoc[leveloffset=+3]
include::modules/bonding-multiple-sriov-network-interfaces-to-dual-port.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-coreos-installer-options.adoc[leveloffset=+3]
include::modules/rhcos-enabling-multipath.adoc[leveloffset=+2]

View File

@@ -220,7 +220,23 @@ include::modules/installation-user-infra-machines-advanced-customizing-live-iscs
:boot-media!:
:boot!:
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/bonding-multiple-network-interfaces-to-single-interface.adoc[leveloffset=+3]
include::modules/bonding-multiple-sriov-network-interfaces-to-dual-port.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-coreos-installer-options.adoc[leveloffset=+3]
include::modules/rhcos-enabling-multipath.adoc[leveloffset=+2]

View File

@@ -106,7 +106,21 @@ Follow either the steps to use an ISO image or network PXE booting to install {o
include::modules/installation-user-infra-machines-iso.adoc[leveloffset=+2]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/bonding-multiple-network-interfaces-to-single-interface.adoc[leveloffset=+3]
include::modules/bonding-multiple-sriov-network-interfaces-to-dual-port.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-pxe.adoc[leveloffset=+2]

View File

@@ -107,7 +107,21 @@ Follow either the steps to use an ISO image or network PXE booting to install {o
include::modules/installation-user-infra-machines-iso.adoc[leveloffset=+2]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/bonding-multiple-network-interfaces-to-single-interface.adoc[leveloffset=+3]
include::modules/bonding-multiple-sriov-network-interfaces-to-dual-port.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-pxe.adoc[leveloffset=+2]

View File

@@ -79,6 +79,20 @@ include::modules/installation-full-ibm-z-kvm-user-infra-machines-iso.adoc[levelo
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/bonding-multiple-network-interfaces-to-single-interface.adoc[leveloffset=+3]
include::modules/bonding-multiple-sriov-network-interfaces-to-dual-port.adoc[leveloffset=+3]
include::modules/installation-installing-bare-metal.adoc[leveloffset=+1]
include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1]

View File

@@ -62,6 +62,20 @@ include::modules/installation-ibm-z-user-infra-machines-iso.adoc[leveloffset=+1]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/bonding-multiple-network-interfaces-to-single-interface.adoc[leveloffset=+3]
include::modules/bonding-multiple-sriov-network-interfaces-to-dual-port.adoc[leveloffset=+3]
include::modules/installation-installing-bare-metal.adoc[leveloffset=+1]
include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1]

View File

@@ -63,6 +63,20 @@ include::modules/installation-ibm-z-user-infra-machines-iso.adoc[leveloffset=+1]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/bonding-multiple-network-interfaces-to-single-interface.adoc[leveloffset=+3]
include::modules/bonding-multiple-sriov-network-interfaces-to-dual-port.adoc[leveloffset=+3]
include::modules/installation-installing-bare-metal.adoc[leveloffset=+1]
include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1]

View File

@@ -87,6 +87,16 @@ include::modules/installation-full-ibm-z-kvm-user-infra-machines-iso.adoc[levelo
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/installation-installing-bare-metal.adoc[leveloffset=+1]
include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1]

View File

@@ -70,6 +70,20 @@ include::modules/installation-ibm-z-user-infra-machines-iso.adoc[leveloffset=+1]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/bonding-multiple-network-interfaces-to-single-interface.adoc[leveloffset=+3]
include::modules/bonding-multiple-sriov-network-interfaces-to-dual-port.adoc[leveloffset=+3]
include::modules/installation-installing-bare-metal.adoc[leveloffset=+1]
include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1]

View File

@@ -72,6 +72,20 @@ include::modules/installation-ibm-z-user-infra-machines-iso.adoc[leveloffset=+1]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/bonding-multiple-network-interfaces-to-single-interface.adoc[leveloffset=+3]
include::modules/bonding-multiple-sriov-network-interfaces-to-dual-port.adoc[leveloffset=+3]
include::modules/installation-installing-bare-metal.adoc[leveloffset=+1]
include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1]

View File

@@ -87,7 +87,23 @@ include::modules/installation-user-infra-machines-pxe.adoc[leveloffset=+2]
include::modules/installation-user-infra-machines-advanced.adoc[leveloffset=+2]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+2]
include::modules/configuring-dhcp-or-static-ip-addresses.adoc[leveloffset=+3]
include::modules/configuring-ip-address-without-static-hostname.adoc[leveloffset=+3]
include::modules/specifying-multiple-network-interfaces.adoc[leveloffset=+3]
include::modules/configuring-default-gateway-route.adoc[leveloffset=+3]
include::modules/configuring-vlans-individual-interfaces.adoc[leveloffset=+3]
include::modules/bonding-multiple-network-interfaces-to-single-interface.adoc[leveloffset=+3]
include::modules/bonding-multiple-sriov-network-interfaces-to-dual-port.adoc[leveloffset=+3]
include::modules/installation-user-infra-machines-coreos-installer-options.adoc[leveloffset=+3]
include::modules/installation-installing-bare-metal.adoc[leveloffset=+1]

View File

@@ -0,0 +1,138 @@
// Module included in the following assemblies:
//
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
// * installing/installing_platform_agnostic/installing-platform-agnostic.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
// * installing/installing_ibm_z/installing-ibm-z.adoc
// * installing/installing_ibm_z/installing-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-ibm-z-lpar.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-lpar.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
ifeval::["{context}" == "installing-ibm-z"]
:ibm-z:
endif::[]
ifeval::["{context}" == "installing-ibm-z-kvm"]
:ibm-z-kvm:
endif::[]
ifeval::["{context}" == "installing-ibm-z-lpar"]
:ibm-z:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-z"]
:ibm-z:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-z-kvm"]
:ibm-z-kvm:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-z-lpar"]
:ibm-z:
endif::[]
ifeval::["{context}" == "installing-ibm-power"]
:ibm-power:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-power"]
:ibm-power:
:restricted:
endif::[]
ifndef::ibm-z-kvm[]
:_mod-docs-content-type: PROCEDURE
[id="bonding-multiple-network-interfaces-to-single-interface_{context}"]
= Bonding multiple network interfaces to a single interface
[role="_abstract"]
As an optional task, you can bond multiple network interfaces to a single interface by using the `bond=` option. By completing this task, you can eliminate a single point of failure for your network environment.
The following example demonstrates editing the `/etc/config/network` file and specifying the following syntax for bonding multiple network interfaces to a single interface:
[source,terminal]
----
bond=<name>[:<network_interfaces>][:<options>]
----
* `<name>`: Specifies the bonding device name, for example `bond0`.
* `<network_interfaces>`: Specifies a comma-separated list of physical (ethernet) interfaces, such as `em1,em2`.
* `<options>: Specifies a comma-separated list of bonding options. Enter the `modinfo bonding` command to see available options.
When you create a bonded interface using the `bond=` command, you must specify how the IP address is assigned and other information for the bonded interface.
.Procedure
* To configure the bonded interface to use DHCP, edit the `/etc/config/network` file by setting the IP address for the bond to `dhcp`. For example:
+
[source,terminal]
----
bond=bond0:em1,em2:mode=active-backup
ip=bond0:dhcp
----
* To configure the bonded interface to use a static IP address, edit the `/etc/config/network` file entering the specific IP address you want and related information. For example:
+
ifndef::ibm-z[]
[source,terminal]
----
bond=bond0:em1,em2:mode=active-backup
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none
----
endif::ibm-z[]
ifdef::ibm-z[]
[source,terminal]
----
bond=bond0:em1,em2:mode=active-backup,fail_over_mac=1
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none
----
+
Always set the `fail_over_mac=1` option in active-backup mode to avoid problems when shared OSA/RoCE cards are used.
endif::ibm-z[]
ifdef::ibm-z[]
* You can configure VLANs on bonded interfaces by editing the `/etc/config/network` file and specifying the `vlan=` parameter to use DHCP. For example:
+
[source,terminal]
----
ip=bond0.100:dhcp
bond=bond0:em1,em2:mode=active-backup
vlan=bond0.100:bond0
----
* To configure the bonded interface with a VLAN, edit the `/etc/config/network` file and specify a static IP address. For example:
+
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0.100:none
bond=bond0:em1,em2:mode=active-backup
vlan=bond0.100:bond0
----
endif::ibm-z[]
endif::ibm-z-kvm[]
ifeval::["{context}" == "installing-ibm-z"]
:!ibm-z:
endif::[]
ifeval::["{context}" == "installing-ibm-z-kvm"]
:!ibm-z-kvm:
endif::[]
ifeval::["{context}" == "installing-ibm-z-lpar"]
:!ibm-z:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-z"]
:!ibm-z:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-z-kvm"]
:!ibm-z-kvm:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-z-lpar"]
:!ibm-z:
endif::[]
ifeval::["{context}" == "installing-ibm-power"]
:!ibm-power:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-power"]
:!ibm-power:
:!restricted:
endif::[]

View File

@@ -0,0 +1,135 @@
// Module included in the following assemblies:
//
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
// * installing/installing_platform_agnostic/installing-platform-agnostic.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
// * installing/installing_ibm_z/installing-ibm-z.adoc
// * installing/installing_ibm_z/installing-ibm-z-lpar.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-lpar.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
ifeval::["{context}" == "installing-ibm-z-kvm"]
:ibm-z-kvm:
endif::[]
ifeval::["{context}" == "installing-ibm-z"]
:ibm-z:
endif::[]
ifeval::["{context}" == "installing-ibm-z-lpar"]
:ibm-z:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-z"]
:ibm-z:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-z-lpar"]
:ibm-z:
endif::[]
ifeval::["{context}" == "installing-ibm-power"]
:ibm-power:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-power"]
:ibm-power:
:restricted:
endif::[]
:_mod-docs-content-type: PROCEDURE
[id="bonding-multiple-sriov-network-interfaces-to-dual-port_{context}"]
ifndef::ibm-z,ibm-z-kvm[]
= Bonding multiple SR-IOV network interfaces to a dual port NIC interface
endif::ibm-z,ibm-z-kvm[]
ifdef::ibm-z,ibm-z-kvm[]
= Using network teaming
endif::ibm-z,ibm-z-kvm[]
[role="_abstract"]
ifndef::ibm-z,ibm-z-kvm[]
You can bond multiple SR-IOV network interfaces to a dual port NIC interface by using the `bond=` option. This task provides high availability capabilities to your network by preventing a single physical port from becoming a single point of failure. Ensure you apply the procedure tasks to each node.
endif::ibm-z,ibm-z-kvm[]
ifdef::ibm-z,ibm-z-kvm[]
You can use network teaming as an alternative to bonding by using the `team=` parameter. Consider this task for servers that need highly customizable network logic and better performance in virtualized or high-traffic environments.
endif::ibm-z,ibm-z-kvm[]
.Procedure
ifndef::ibm-z,ibm-z-kvm[]
ifndef::installing-ibm-power[]
. Create the SR-IOV virtual functions (VFs) following the guidance in link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_virtualization/managing-virtual-devices_configuring-and-managing-virtualization#managing-sr-iov-devices_managing-virtual-devices[Managing SR-IOV devices]. Follow the procedure in the "Attaching SR-IOV networking devices to virtual machines" section.
endif::installing-ibm-power[]
ifdef::installing-ibm-power[]
. Create the SR-IOV virtual functions (VFs).
endif::installing-ibm-power[]
. Create the bond, attach the desired VFs to the bond and set the bond link state up following the guidance in link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-network-bonding_configuring-and-managing-networking[Configuring network bonding]. Follow any of the described procedures to create the bond.
+
The following examples illustrate the syntax you must use:
+
* The syntax for configuring a bonded interface is `bond=<name>[:<network_interfaces>][:options]`.
+
`<name>` is the bonding device name (`bond0`), `<network_interfaces>` represents the virtual functions (VFs) by their known name in the kernel and shown in the output of the `ip link` command(`eno1f0`, `eno2f0`), and _options_ is a comma-separated list of bonding options. Enter `modinfo bonding` to see available options.
+
* When you create a bonded interface using `bond=`, you must specify how the IP address is assigned and other information for the bonded interface.
+
** To configure the bonded interface to use DHCP, set the bond's IP address to `dhcp`. For example:
+
[source,terminal]
----
bond=bond0:eno1f0,eno2f0:mode=active-backup
ip=bond0:dhcp
----
+
** To configure the bonded interface to use a static IP address, enter the specific IP address you want and related information. For example:
+
[source,terminal]
----
bond=bond0:eno1f0,eno2f0:mode=active-backup
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none
----
endif::ibm-z,ibm-z-kvm[]
ifndef::ibm-power[]
. Optional: You can use network teaming as an alternative to bonding by using the `team=` parameter.
+
* The syntax for configuring a team interface is: `team=name[:network_interfaces]`
+
_name_ is the team device name (`team0`) and _network_interfaces_ represents a comma-separated list of physical (ethernet) interfaces (`em1, em2`).
+
[NOTE]
====
Teaming is planned to be deprecated when {op-system} switches to an upcoming version of {op-system-base}. For more information, see this https://access.redhat.com/solutions/6509691[Red Hat Knowledgebase Article].
====
+
Use the following example to configure a network team:
+
[source,terminal]
----
team=team0:em1,em2
ip=team0:dhcp
----
endif::ibm-power[]
ifeval::["{context}" == "installing-ibm-z-kvm"]
:!ibm-z-kvm:
endif::[]
ifeval::["{context}" == "installing-ibm-z"]
:!ibm-z:
endif::[]
ifeval::["{context}" == "installing-ibm-z-lpar"]
:!ibm-z:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-z"]
:!ibm-z:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-z-lpar"]
:!ibm-z:
endif::[]
ifeval::["{context}" == "installing-ibm-power"]
:!ibm-power:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-ibm-power"]
:!ibm-power:
:!restricted:
endif::[]

View File

@@ -0,0 +1,45 @@
// Module included in the following assemblies:
//
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
// * installing/installing_platform_agnostic/installing-platform-agnostic.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
// * installing/installing_ibm_z/installing-ibm-z.adoc
// * installing/installing_ibm_z/installing-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-ibm-z-lpar.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-lpar.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
:_mod-docs-content-type: PROCEDURE
[id="configuring-default-gateway-route_{context}"]
= Configuring default gateway and route
[role="_abstract"]
As an optional task, you can configure routes to additional networks by setting an `rd.route=` value.
[NOTE]
====
When you configure one or multiple networks, one default gateway is required. If the additional network gateway is different from the primary network gateway, the default gateway must be the primary network gateway.
====
.Procedure
* To configure the default gateway, enter the following command:
+
[source,terminal]
----
ip=::10.10.10.254::::
----
* To configure the route for an additional network, enter the following command:
+
[source,terminal]
----
rd.route=20.20.20.0/24:20.20.20.254:enp2s0
----

View File

@@ -0,0 +1,71 @@
// Module included in the following assemblies:
//
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
// * installing/installing_platform_agnostic/installing-platform-agnostic.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
// * installing/installing_ibm_z/installing-ibm-z.adoc
// * installing/installing_ibm_z/installing-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-ibm-z-lpar.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-lpar.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
:_mod-docs-content-type: PROCEDURE
[id="configuring-dhcp-or-static-ip-addresses_{context}"]
= Configuring DHCP or static IP addresses
[role="_abstract"]
You can configure an IP address by using either DHCP or an individual static IP address. If you set a static IP, you must then identify the DNS server IP address on each node.
The configuration examples in the procedure, update the IP addresses for the following components:
* The node's IP address to `10.10.10.2`
* The gateway address to `10.10.10.254`
* The netmask to `255.255.255.0`
* The hostname to `core0.example.com`
* The DNS server address to `4.4.4.41`
* The auto-configuration value to `none`. No auto-configuration is required when IP networking is configured statically.
.Procedure
. Enter a command like the following command to configure a static IP address:
+
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
nameserver=4.4.4.41
----
. Enter a command like the following command to configure a DHCP IP address:
+
[source,terminal]
----
ip=enp1s0:dhcp
----
+
[NOTE]
====
When you use DHCP to configure IP addressing for the {op-system} machines, the machines also obtain the DNS server information through DHCP. For DHCP-based deployments, you can define the DNS server address that is used by the {op-system} nodes through your DHCP server configuration.
====
. If two or more network interfaces and only one interface exists, disable DHCP on a single interface. In the example, the `enp1s0` interface has a static networking configuration and DHCP is disabled for `enp2s0`, which is not used:
+
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
ip=::::core0.example.com:enp2s0:none
----
. If you need to combine DHCP and static IP configurations on systems with multiple network interfaces, run the following example command:
+
[source,terminal]
----
ip=enp1s0:dhcp
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none
----

View File

@@ -0,0 +1,41 @@
// Module included in the following assemblies:
//
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
// * installing/installing_platform_agnostic/installing-platform-agnostic.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
// * installing/installing_ibm_z/installing-ibm-z.adoc
// * installing/installing_ibm_z/installing-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-ibm-z-lpar.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-lpar.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
:_mod-docs-content-type: PROCEDURE
[id="configuring-ip-address-without-static-hostname_{context}"]
= Configuring an IP address without a static hostname
[role="_abstract"]
You can configure an IP address without assigning a static hostname. If a static hostname is not set by the user, the static hostname gets picked up and automatically set by a reverse DNS lookup.
The configuration examples in the procedure, update the IP addresses for the following components:
* The node's IP address to `10.10.10.2`
* The gateway address to `10.10.10.254`
* The netmask to `255.255.255.0`
* The DNS server address to `4.4.4.41`
* The auto-configuration value to `none`. No auto-configuration is required when IP networking is configured statically.
.Procedure
* To configure an IP address without a static hostname, enter a command like the following command:
+
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0::enp1s0:none
nameserver=4.4.4.41
----

View File

@@ -0,0 +1,41 @@
// Module included in the following assemblies:
//
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
// * installing/installing_platform_agnostic/installing-platform-agnostic.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
// * installing/installing_ibm_z/installing-ibm-z.adoc
// * installing/installing_ibm_z/installing-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-ibm-z-lpar.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-lpar.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
:_mod-docs-content-type: PROCEDURE
[id="configuring-vlans-individual-interfaces_{context}"]
= Configuring VLANs on individual interfaces
[role="_abstract"]
As an optional task, you can configure VLANs on individual interfaces by using the `vlan=` parameter.
.Procedure
* To configure a VLAN on a network interface and use a static IP address, run the following command:
+
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp2s0.100:none
vlan=enp2s0.100:enp2s0
----
* To configure a VLAN on a network interface and to use DHCP, run the following command:
+
[source,terminal]
----
ip=enp2s0.100:dhcp
vlan=enp2s0.100:enp2s0
----

View File

@@ -8,6 +8,7 @@
[id="installation-user-infra-machines-advanced-console-configuration_{context}"]
= Default console configuration
[role="_abstract"]
{op-system-first} nodes installed from an {product-title} {product-version} boot image use a default console that is meant to accomodate most virtualized and bare metal setups. Different cloud and virtualization platforms may use different default settings depending on the chosen architecture. Bare metal installations use the kernel default settings which typically means the graphical console is the primary console and the serial console is disabled.
The default consoles may not match your specific hardware configuration or you might have specific needs that require you to adjust the default console. For example:

View File

@@ -4,10 +4,11 @@
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
:_mod-docs-content-type: PROCEDURE
:_mod-docs-content-type: CONCEPT
[id="installation-user-infra-machines-advanced-customizing-iso-or-pxe_{context}"]
= Customizing a live {op-system} ISO or PXE install
[role="_abstract"]
You can use the live ISO image or PXE environment to install {op-system} by injecting an Ignition config file directly into the image. This creates a customized image that you can use to provision your system.
For an ISO image, the mechanism to do this is the `coreos-installer iso customize` subcommand, which modifies the `.iso` file with your configuration. Similarly, the mechanism for a PXE environment is the `coreos-installer pxe customize` subcommand, which creates a new `initramfs` file that includes your customizations.

View File

@@ -8,6 +8,7 @@
[id="installation-user-infra-machines-advanced-customizing-live-{boot}-ca-certs_{context}"]
= Modifying a live install {boot-media} to use a custom certificate authority
[role="_abstract"]
You can provide certificate authority (CA) certificates to Ignition with the `--ignition-ca` flag of the `customize` subcommand. You can use the CA certificates during both the installation boot and when provisioning the installed system.
[NOTE]
@@ -27,7 +28,6 @@ ifeval::["{boot-media}" == "ISO image"]
$ coreos-installer iso customize rhcos-<version>-live.x86_64.iso --ignition-ca cert.pem
----
endif::[]
ifeval::["{boot-media}" == "PXE environment"]
. Retrieve the {op-system} `kernel`, `initramfs` and `rootfs` files from the link:https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/latest/[{op-system} image mirror] page and run the following command to create a new customized `initramfs` file for use with a custom CA:
+
@@ -40,11 +40,11 @@ $ coreos-installer pxe customize rhcos-<version>-live-initramfs.x86_64.img \
. Use the customized `initramfs` file in your PXE configuration. Add the `ignition.firstboot` and `ignition.platform.id=metal` kernel arguments if they are not already present.
endif::[]
+
[IMPORTANT]
====
The `coreos.inst.ignition_url` kernel parameter does not work with the `--ignition-ca` flag.
You must use the `--dest-ignition` flag to create a customized image for each cluster.
====
+
Applying your custom CA certificate affects every subsequent boot of {op-system}.

View File

@@ -8,6 +8,7 @@
[id="installation-user-infra-machines-advanced-customizing-live-{boot}-iscsi-ibft_{context}"]
= Customizing a live install {boot-media} for an iSCSI boot device with iBFT
[role="_abstract"]
You can set the iSCSI target and initiator values for automatic mounting, booting and configuration using a customized version of the live {op-system} image.
.Prerequisites
@@ -24,20 +25,23 @@ ifeval::["{boot-media}" == "ISO image"]
[source,text]
----
$ coreos-installer iso customize \
--pre-install mount-iscsi.sh \ <1>
--post-install unmount-iscsi.sh \ <2>
--dest-device /dev/mapper/mpatha \ <3>
--dest-ignition config.ign \ <4>
--dest-karg-append rd.iscsi.firmware=1 \ <5>
--dest-karg-append rd.multipath=default \ <6>
--pre-install mount-iscsi.sh \
--post-install unmount-iscsi.sh \
--dest-device /dev/mapper/mpatha \
--dest-ignition config.ign \
--dest-karg-append rd.iscsi.firmware=1 \
--dest-karg-append rd.multipath=default \
-o custom.iso rhcos-<version>-live.x86_64.iso
----
<1> The script that gets run before installation. It should contain the `iscsiadm` commands for mounting the iSCSI target and any commands enabling multipathing.
<2> The script that gets run after installation. It should contain the command `iscsiadm --mode node --logout=all`.
<3> The path to the device. If you are using multipath, the multipath device, `/dev/mapper/mpatha`, If there are multiple multipath devices connected, or to be explicit, you can use the World Wide Name (WWN) symlink available in `/dev/disk/by-path`.
<4> The Ignition configuration for the destination system.
<5> The iSCSI parameter is read from the BIOS firmware.
<6> Optional: include this parameter if you are enabling multipathing.
+
where:
+
`mount-iscsi.sh`:: The script that gets run before installation. It should contain the `iscsiadm` commands for mounting the iSCSI target and any commands enabling multipathing.
`unmount-iscsi.sh`:: The script that gets run after installation. It should contain the command `iscsiadm --mode node --logout=all`.
`/dev/mapper/mpatha`:: The path to the device. If you are using multipath, the multipath device, `/dev/mapper/mpatha`, If there are multiple multipath devices connected, or to be explicit, you can use the World Wide Name (WWN) symlink available in `/dev/disk/by-path`.
`config.ign`:: The Ignition configuration for the destination system.
`rd.iscsi.firmware=1`:: The iSCSI parameter is read from the BIOS firmware.
`rd.multipath=default`:: Optional: include this parameter if you are enabling multipathing.
endif::[]
ifeval::["{boot-media}" == "PXE environment"]
@@ -46,20 +50,23 @@ ifeval::["{boot-media}" == "PXE environment"]
[source,text]
----
$ coreos-installer pxe customize \
--pre-install mount-iscsi.sh \ <1>
--post-install unmount-iscsi.sh \ <2>
--dest-device /dev/mapper/mpatha \ <3>
--dest-ignition config.ign \ <4>
--dest-karg-append rd.iscsi.firmware=1 \ <5>
--dest-karg-append rd.multipath=default \ <6>
--pre-install mount-iscsi.sh \
--post-install unmount-iscsi.sh \
--dest-device /dev/mapper/mpatha \
--dest-ignition config.ign \
--dest-karg-append rd.iscsi.firmware=1 \
--dest-karg-append rd.multipath=default \
-o custom.img rhcos-<version>-live-initramfs.x86_64.img
----
<1> The script that gets run before installation. It should contain the `iscsiadm` commands for mounting the iSCSI target.
<2> The script that gets run after installation. It should contain the command `iscsiadm --mode node --logout=all`.
<3> The path to the device. If you are using multipath, the multipath device, `/dev/mapper/mpatha`, If there are multiple multipath devices connected, or to be explicit, you can use the World Wide Name (WWN) symlink available in `/dev/disk/by-path`.
<4> The Ignition configuration for the destination system.
<5> The iSCSI parameter is read from the BIOS firmware.
<6> Optional: include this parameter if you are enabling multipathing.
+
where:
+
`mount-iscsi.sh`:: The script that gets run before installation. It should contain the `iscsiadm` commands for mounting the iSCSI target.
`unmount-iscsi.sh`:: The script that gets run after installation. It should contain the command `iscsiadm --mode node --logout=all`.
`/dev/mapper/mpatha`:: The path to the device. If you are using multipath, the multipath device, `/dev/mapper/mpatha`, If there are multiple multipath devices connected, or to be explicit, you can use the World Wide Name (WWN) symlink available in `/dev/disk/by-path`.
`config.ign`:: The Ignition configuration for the destination system.
`rd.iscsi.firmware=1`:: The iSCSI parameter is read from the BIOS firmware.
`rd.multipath=default`:: Optional: include this parameter if you are enabling multipathing.
endif::[]
+
For more information about the iSCSI options supported by `dracut`, see the link:https://www.man7.org/linux/man-pages/man7/dracut.cmdline.7.html[`dracut.cmdline` manual page].

View File

@@ -8,6 +8,7 @@
[id="installation-user-infra-machines-advanced-customizing-live-{boot}-iscsi-manual_{context}"]
= Customizing a live install {boot-media} for an iSCSI boot device
[role="_abstract"]
You can set the iSCSI target and initiator values for automatic mounting, booting and configuration using a customized version of the live {op-system} image.
.Prerequisites
@@ -23,20 +24,23 @@ ifeval::["{boot-media}" == "ISO image"]
[source,text]
----
$ coreos-installer iso customize \
--pre-install mount-iscsi.sh \ <1>
--post-install unmount-iscsi.sh \ <2>
--dest-device /dev/disk/by-path/<IP_address>:<port>-iscsi-<target_iqn>-lun-<lun> \ <3>
--dest-ignition config.ign \ <4>
--dest-karg-append rd.iscsi.initiator=<initiator_iqn> \ <5>
--dest-karg-append netroot=<target_iqn> \ <6>
--pre-install mount-iscsi.sh \
--post-install unmount-iscsi.sh \
--dest-device /dev/disk/by-path/<IP_address>:<port>-iscsi-<target_iqn>-lun-<lun> \
--dest-ignition config.ign \
--dest-karg-append rd.iscsi.initiator=<initiator_iqn> \
--dest-karg-append netroot=<target_iqn> \
-o custom.iso rhcos-<version>-live.x86_64.iso
----
<1> The script that gets run before installation. It should contain the `iscsiadm` commands for mounting the iSCSI target and any commands enabling multipathing.
<2> The script that gets run after installation. It should contain the command `iscsiadm --mode node --logout=all`.
<3> The location of the destination system. You must provide the IP address of the target portal, the associated port number, the target iSCSI node in IQN format, and the iSCSI logical unit number (LUN).
<4> The Ignition configuration for the destination system.
<5> The iSCSI initiator, or client, name in IQN format. The initiator forms a session to connect to the iSCSI target.
<6> The the iSCSI target, or server, name in IQN format.
+
where:
+
`mount-iscsi.sh`:: The script that gets run before installation. It should contain the `iscsiadm` commands for mounting the iSCSI target and any commands enabling multipathing.
`unmount-iscsi.sh`:: The script that gets run after installation. It should contain the command `iscsiadm --mode node --logout=all`.
`<target_iqn>`:: The location of the destination system. You must provide the IP address of the target portal, the associated port number, the target iSCSI node in IQN format, and the iSCSI logical unit number (LUN).
`config.ign`:: The Ignition configuration for the destination system.
`<initiator_iqn>`:: The iSCSI initiator, or client, name in IQN format. The initiator forms a session to connect to the iSCSI target.
`<target_iqn>`:: The the iSCSI target, or server, name in IQN format.
endif::[]
ifeval::["{boot-media}" == "PXE environment"]
@@ -45,20 +49,23 @@ ifeval::["{boot-media}" == "PXE environment"]
[source,text]
----
$ coreos-installer pxe customize \
--pre-install mount-iscsi.sh \ <1>
--post-install unmount-iscsi.sh \ <2>
--dest-device /dev/disk/by-path/<IP_address>:<port>-iscsi-<target_iqn>-lun-<lun> \ <3>
--dest-ignition config.ign \ <4>
--dest-karg-append rd.iscsi.initiator=<initiator_iqn> \ <5>
--dest-karg-append netroot=<target_iqn> \ <6>
--pre-install mount-iscsi.sh \
--post-install unmount-iscsi.sh \
--dest-device /dev/disk/by-path/<IP_address>:<port>-iscsi-<target_iqn>-lun-<lun> \
--dest-ignition config.ign \
--dest-karg-append rd.iscsi.initiator=<initiator_iqn> \
--dest-karg-append netroot=<target_iqn> \
-o custom.img rhcos-<version>-live-initramfs.x86_64.img
----
<1> The script that gets run before installation. It should contain the `iscsiadm` commands for mounting the iSCSI target and any commands enabling multipathing.
<2> The script that gets run after installation. It should contain the command `iscsiadm --mode node --logout=all`.
<3> The location of the destination system. You must provide the IP address of the target portal, the associated port number, the target iSCSI node in IQN format, and the iSCSI logical unit number (LUN).
<4> The Ignition configuration for the destination system.
<5> The iSCSI initiator, or client, name in IQN format. The initiator forms a session to connect to the iSCSI target.
<6> The the iSCSI target, or server, name in IQN format.
+
where:
+
`mount-iscsi.sh`:: The script that gets run before installation. It should contain the `iscsiadm` commands for mounting the iSCSI target and any commands enabling multipathing.
`unmount-iscsi.sh`:: The script that gets run after installation. It should contain the command `iscsiadm --mode node --logout=all`.
`<target_iqn>`:: The location of the destination system. You must provide the IP address of the target portal, the associated port number, the target iSCSI node in IQN format, and the iSCSI logical unit number (LUN).
`config.ign`:: The Ignition configuration for the destination system.
`<initiator_iqn>`:: The iSCSI initiator, or client, name in IQN format. The initiator forms a session to connect to the iSCSI target.
`<target_iqn>`:: The the iSCSI target, or server, name in IQN format.
endif::[]
+
For more information about the iSCSI options supported by `dracut`, see the link:https://www.man7.org/linux/man-pages/man7/dracut.cmdline.7.html[`dracut.cmdline` manual page].

View File

@@ -8,6 +8,7 @@
[id="installation-user-infra-machines-advanced-customizing-live-{boot}_network_keyfile_{context}"]
= Modifying a live install {boot-media} with customized network settings
[role="_abstract"]
You can embed a NetworkManager keyfile into the live {boot-media} and pass it through to the installed system with the `--network-keyfile` flag of the `customize` subcommand.
[WARNING]

View File

@@ -8,6 +8,7 @@
[id="installation-user-infra-machines-advanced-customizing-live-{boot}-serial-console_{context}"]
= Modifying a live install {boot-media} to enable the serial console
[role="_abstract"]
On clusters installed with {product-title} 4.12 and above, the serial console is disabled by default and all output is written to the graphical console. You can enable the serial console with the following procedure.
.Procedure
@@ -20,16 +21,18 @@ ifeval::["{boot-media}" == "ISO image"]
[source,terminal]
----
$ coreos-installer iso customize rhcos-<version>-live.x86_64.iso \
--dest-ignition <path> \//<1>
--dest-console tty0 \//<2>
--dest-console ttyS0,<options> \//<3>
--dest-device /dev/disk/by-id/scsi-<serial_number> <4>
--dest-ignition <path> \//
--dest-console tty0 \//
--dest-console ttyS0,<options> \//
--dest-device /dev/disk/by-id/scsi-<serial_number>
----
+
<1> The location of the Ignition config to install.
<2> The desired secondary console. In this case, the graphical console. Omitting this option will disable the graphical console.
<3> The desired primary console. In this case, the serial console. The `options` field defines the baud rate and other settings. A common value for this field is `115200n8`. If no options are provided, the default kernel value of `9600n8` is used. For more information on the format of this option, see the link:https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html[Linux kernel serial console] documentation.
<4> The specified disk to install to. If you omit this option, the {boot-media} automatically runs the installation program which will fail unless you also specify the `coreos.inst.install_dev` kernel argument.
where:
+
`<path>`:: The location of the Ignition config to install.
`tty0`:: The desired secondary console. In this case, the graphical console. Omitting this option will disable the graphical console.
`<options>`:: The desired primary console. In this case, the serial console. The `options` field defines the baud rate and other settings. A common value for this field is `115200n8`. If no options are provided, the default kernel value of `9600n8` is used. For more information on the format of this option, see the link:https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html[Linux kernel serial console] documentation.
`<serial_number>`:: The specified disk to install to. If you omit this option, the {boot-media} automatically runs the installation program which will fail unless you also specify the `coreos.inst.install_dev` kernel argument.
+
[NOTE]
====
@@ -55,18 +58,20 @@ ifeval::["{boot-media}" == "PXE environment"]
[source,terminal]
----
$ coreos-installer pxe customize rhcos-<version>-live-initramfs.x86_64.img \
--dest-ignition <path> \//<1>
--dest-console tty0 \//<2>
--dest-console ttyS0,<options> \//<3>
--dest-device /dev/disk/by-id/scsi-<serial_number> \//<4>
-o rhcos-<version>-custom-initramfs.x86_64.img <5>
--dest-ignition <path> \//
--dest-console tty0 \//
--dest-console ttyS0,<options> \//
--dest-device /dev/disk/by-id/scsi-<serial_number> \//
-o rhcos-<version>-custom-initramfs.x86_64.img
----
+
<1> The location of the Ignition config to install.
<2> The desired secondary console. In this case, the graphical console. Omitting this option will disable the graphical console.
<3> The desired primary console. In this case, the serial console. The `options` field defines the baud rate and other settings. A common value for this field is `115200n8`. If no options are provided, the default kernel value of `9600n8` is used. For more information on the format of this option, see the link:https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html[Linux kernel serial console] documentation.
<4> The specified disk to install to. If you omit this option, the {boot-media} automatically runs the installer which will fail unless you also specify the `coreos.inst.install_dev` kernel argument.
<5> Use the customized `initramfs` file in your PXE configuration. Add the `ignition.firstboot` and `ignition.platform.id=metal` kernel arguments if they are not already present.
where:
+
`<path>`:: The location of the Ignition config to install.
`tty0`:: The desired secondary console. In this case, the graphical console. Omitting this option will disable the graphical console.
`<options>`:: The desired primary console. In this case, the serial console. The `options` field defines the baud rate and other settings. A common value for this field is `115200n8`. If no options are provided, the default kernel value of `9600n8` is used. For more information on the format of this option, see the link:https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html[Linux kernel serial console] documentation.
`<serial_number>`:: The specified disk to install to. If you omit this option, the {boot-media} automatically runs the installation program which will fail unless you also specify the `coreos.inst.install_dev` kernel argument.
`<version>`:: Use the customized `initramfs` file in your PXE configuration. Add the `ignition.firstboot` and `ignition.platform.id=metal` kernel arguments if they are not already present.
+
Your customizations are applied and affect every subsequent boot of the {boot-media}.
endif::[]

View File

@@ -8,6 +8,7 @@
[id="installation-user-infra-machines-advanced-customizing-live-{boot}_{context}"]
= Customizing a live {op-system} {boot-media}
[role="_abstract"]
You can customize a live {op-system} {boot-media} directly with the
ifeval::["{boot-media}" == "ISO image"]
`coreos-installer iso customize`
@@ -29,11 +30,14 @@ ifeval::["{boot-media}" == "ISO image"]
[source,terminal]
----
$ coreos-installer iso customize rhcos-<version>-live.x86_64.iso \
--dest-ignition bootstrap.ign \ <1>
--dest-device /dev/disk/by-id/scsi-<serial_number> <2>
--dest-ignition bootstrap.ign \
--dest-device /dev/disk/by-id/scsi-<serial_number>
----
<1> The Ignition config file that is generated from the `openshift-installer` installation program.
<2> When you specify this option, the {boot-media} automatically runs an installation. Otherwise, the image remains configured for installation, but does not install automatically unless you specify the `coreos.inst.install_dev` kernel argument.
+
where:
+
`--dest-ignition`:: The Ignition config file that is generated from the `openshift-installer` installation program.
`--dest-device`:: When you specify this option, the {boot-media} automatically runs an installation. Otherwise, the image remains configured for installation, but does not install automatically unless you specify the `coreos.inst.install_dev` kernel argument.
. Optional: To remove the {boot-media} customizations and return the image to its pristine state, run:
+
@@ -51,13 +55,16 @@ ifeval::["{boot-media}" == "PXE environment"]
[source,terminal]
----
$ coreos-installer pxe customize rhcos-<version>-live-initramfs.x86_64.img \
--dest-ignition bootstrap.ign \ <1>
--dest-device /dev/disk/by-id/scsi-<serial_number> \ <2>
-o rhcos-<version>-custom-initramfs.x86_64.img <3>
--dest-ignition bootstrap.ign \
--dest-device /dev/disk/by-id/scsi-<serial_number> \
-o rhcos-<version>-custom-initramfs.x86_64.img
----
<1> The Ignition config file that is generated from `openshift-installer`.
<2> When you specify this option, the {boot-media} automatically runs an install. Otherwise, the image remains configured for installing, but does not do so automatically unless you specify the `coreos.inst.install_dev` kernel argument.
<3> Use the customized `initramfs` file in your PXE configuration. Add the `ignition.firstboot` and `ignition.platform.id=metal` kernel arguments if they are not already present.
+
where:
+
`--dest-ignition`:: The Ignition config file that is generated from `openshift-installer`.
`<serial_number>`:: When you specify this option, the {boot-media} automatically runs an install. Otherwise, the image remains configured for installing, but does not do so automatically unless you specify the `coreos.inst.install_dev` kernel argument.
`<version>`:: Use the customized `initramfs` file in your PXE configuration. Add the `ignition.firstboot` and `ignition.platform.id=metal` kernel arguments if they are not already present.
endif::[]
+
Applying your customizations affects every subsequent boot of {op-system}.

View File

@@ -12,6 +12,7 @@ endif::[]
[id="installation-user-infra-machines-advanced-enabling-serial-console_{context}"]
= Enabling the serial console for PXE and ISO installations
[role="_abstract"]
By default, the {op-system-first} serial console is disabled and all output is written to the graphical console. You can enable the serial console for an ISO installation and reconfigure the bootloader so that output is sent to both the serial console and the graphical console.
.Procedure
@@ -24,8 +25,8 @@ ifndef::restricted[]
[source,terminal]
----
$ coreos-installer install \
--console=tty0 \//<1>
--console=ttyS0,<options> \//<2>
--console=tty0 \//
--console=ttyS0,<options> \//
--ignition-url=http://host/worker.ign /dev/disk/by-id/scsi-<serial_number>
----
endif::[]
@@ -33,24 +34,26 @@ ifdef::restricted[]
[source,terminal]
----
$ coreos-installer install \
--console=tty0 \//<1>
--console=ttyS0,<options> \//<2>
--console=tty0 \//
--console=ttyS0,<options> \//
--ignition-url=http://host/worker.ign \
--offline \
/dev/disk/by-id/scsi-<serial_number>
----
endif::[]
+
<1> The desired secondary console. In this case, the graphical console. Omitting this option will disable the graphical console.
<2> The desired primary console. In this case the serial console. The `options` field defines the baud rate and other settings. A common value for this field is `115200n8`. If no options are provided, the default kernel value of `9600n8` is used. For more information on the format of this option, see link:https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html[Linux kernel serial console] documentation.
where:
+
`--console=tty0`:: The desired secondary console. In this case, the graphical console. Omitting this option will disable the graphical console.
`--console=ttyS0`:: The desired primary console. In this case the serial console. The `options` field defines the baud rate and other settings. A common value for this field is `115200n8`. If no options are provided, the default kernel value of `9600n8` is used. For more information on the format of this option, see link:https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html[Linux kernel serial console] documentation.
. Reboot into the installed system.
+
[NOTE]
====
A similar outcome can be obtained by using the `coreos-installer install --append-karg` option, and specifying the console with `console=`. However, this will only set the console for the kernel and not the bootloader.
====
+
To configure a PXE installation, make sure the `coreos.inst.install_dev` kernel command-line option is omitted, and use the shell prompt to run `coreos-installer` manually using the above ISO installation procedure.
ifeval::["{context}" == "installing-restricted-networks-bare-metal"]

View File

@@ -26,7 +26,7 @@ To set up static IP addresses or configure special settings, such as bonding, yo
To configure a PXE or iPXE installation, use one of the following options:
* See the "Advanced RHCOS installation reference" tables.
* See the "coreos-installer and boot options for ISO and PXE installations" tables.
* Use a machine config to copy networking files to the installed system.

View File

@@ -0,0 +1,288 @@
// Module included in the following assemblies:
//
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
// * installing/installing_platform_agnostic/installing-platform-agnostic.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
:_mod-docs-content-type: REFERENCE
[id="installation-user-infra-machines-coreos-installer-options_{context}"]
= `coreos-installer` and boot options for ISO and PXE installations
[role="_abstract"]
You can install {op-system} by running `coreos-installer install <options> <device>` at the command prompt, after booting into the {op-system} live environment from an ISO image.
The following table shows the subcommands, options, and arguments you can pass to the `coreos-installer` command.
.`coreos-installer` subcommands, command-line options, and arguments
|===
2+|*coreos-installer install subcommand*
|*_Subcommand_* |*_Description_*
a|`$ coreos-installer install <options> <device>`
a|Embed an Ignition config in an ISO image.
2+|*coreos-installer install subcommand options*
|*_Option_* |*_Description_*
a| `-u`, `--image-url <url>`
a|Specify the image URL manually.
a| `-f`, `--image-file <path>`
a|Specify a local image file manually. Used for debugging.
a|`-i,` `--ignition-file <path>`
a|Embed an Ignition config from a file.
a|`-I`, `--ignition-url <URL>`
a|Embed an Ignition config from a URL.
a|`--ignition-hash <digest>`
a|Digest `type-value` of the Ignition config.
a|`-p`, `--platform <name>`
a|Override the Ignition platform ID for the installed system.
a|`--console <spec>`
a|Set the kernel and boot loader console for the installed system. For more information about the format of `<spec>`, see the link:https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html[Linux kernel serial console] documentation.
a|`--append-karg <arg>...`
a|Append a default kernel argument to the installed system.
a|`--delete-karg <arg>...`
a|Delete a default kernel argument from the installed system.
a|`-n`, `--copy-network`
a|Copy the network configuration from the install environment.
[IMPORTANT]
====
The `--copy-network` option only copies networking configuration found under `/etc/NetworkManager/system-connections`. In particular, it does not copy the system hostname.
====
a|`--network-dir <path>`
a|For use with `-n`. Default is `/etc/NetworkManager/system-connections/`.
a|`--save-partlabel <lx>..`
a|Save partitions with this label glob.
a|`--save-partindex <id>...`
a|Save partitions with this number or range.
a|`--insecure`
a|Skip {op-system} image signature verification.
a|`--insecure-ignition`
a|Allow Ignition URL without HTTPS or hash.
a|`--architecture <name>`
a|Target CPU architecture. Valid values are `x86_64` and `aarch64`.
a|`--preserve-on-error`
a|Do not clear partition table on error.
a|`-h`, `--help`
a|Print help information.
2+|*coreos-installer install subcommand argument*
|*_Argument_* |*_Description_*
a|`<device>`
a|The destination device.
2+|*coreos-installer ISO subcommands*
|*_Subcommand_* |*_Description_*
a|`$ coreos-installer iso customize <options> <ISO_image>`
a|Customize a {op-system} live ISO image.
a|`coreos-installer iso reset <options> <ISO_image>`
|Restore a {op-system} live ISO image to default settings.
a|`coreos-installer iso ignition remove <options> <ISO_image>`
a|Remove the embedded Ignition config from an ISO image.
2+|*coreos-installer ISO customize subcommand options*
|*_Option_* |*_Description_*
a|`--dest-ignition <path>`
a|Merge the specified Ignition config file into a new configuration fragment for the destination system.
a|`--dest-console <spec>`
a|Specify the kernel and boot loader console for the destination system.
a|`--dest-device <path>`
a|Install and overwrite the specified destination device.
a|`--dest-karg-append <arg>`
a|Add a kernel argument to each boot of the destination system.
a|`--dest-karg-delete <arg>`
a|Delete a kernel argument from each boot of the destination system.
a|`--network-keyfile <path>`
a|Configure networking by using the specified NetworkManager keyfile for live and destination systems.
a|`--ignition-ca <path>`
a|Specify an additional TLS certificate authority to be trusted by Ignition.
a|`--pre-install <path>`
a|Run the specified script before installation.
a|`--post-install <path>`
a|Run the specified script after installation.
a|`--installer-config <path>`
a|Apply the specified installer configuration file.
a|`--live-ignition <path>`
a|Merge the specified Ignition config file into a new configuration fragment for the live environment.
a|`--live-karg-append <arg>`
a|Add a kernel argument to each boot of the live environment.
a|`--live-karg-delete <arg>`
a|Delete a kernel argument from each boot of the live environment.
a|`--live-karg-replace <k=o=n>`
a|Replace a kernel argument in each boot of the live environment, in the form `key=old=new`.
a|`-f`, `--force`
a|Overwrite an existing Ignition config.
a|`-o`, `--output <path>`
a|Write the ISO to a new output file.
a|`-h`, `--help`
a|Print help information.
2+|*coreos-installer PXE subcommands*
|*_Subcommand_* |*_Description_*
2+|Note that not all of these options are accepted by all subcommands.
a|`coreos-installer pxe customize <options> <path>`
a|Customize a {op-system} live PXE boot config.
a|`coreos-installer pxe ignition wrap <options>`
a|Wrap an Ignition config in an image.
a|`coreos-installer pxe ignition unwrap <options> <image_name>`
a|Show the wrapped Ignition config in an image.
2+|*coreos-installer PXE customize subcommand options*
|*_Option_* |*_Description_*
2+|Note that not all of these options are accepted by all subcommands.
a|`--dest-ignition <path>`
a|Merge the specified Ignition config file into a new configuration fragment for the destination system.
a|`--dest-console <spec>`
a|Specify the kernel and boot loader console for the destination system.
a|`--dest-device <path>`
a|Install and overwrite the specified destination device.
a|`--network-keyfile <path>`
a|Configure networking by using the specified NetworkManager keyfile for live and destination systems.
a|`--ignition-ca <path>`
a|Specify an additional TLS certificate authority to be trusted by Ignition.
a|`--pre-install <path>`
a|Run the specified script before installation.
a|`post-install <path>`
a|Run the specified script after installation.
a|`--installer-config <path>`
a|Apply the specified installer configuration file.
a|`--live-ignition <path>`
a|Merge the specified Ignition config file into a new configuration fragment for the live environment.
a|`-o,` `--output <path>`
a|Write the initramfs to a new output file.
[NOTE]
====
This option is required for PXE environments.
====
a|`-h`, `--help`
a|Print help information.
|===
You can automatically start `coreos-installer` options at boot time by passing `coreos.inst` boot arguments to the {op-system} live installer. These are provided in addition to the standard boot arguments.
* For ISO installations, the `coreos.inst` options can be added by interrupting the automatic boot at the boot loader menu. You can interrupt the automatic boot by pressing `TAB` while the *RHEL CoreOS (Live)* menu option is highlighted.
* For PXE or iPXE installations, the `coreos.inst` options must be added to the `APPEND` line before the {op-system} live installer is booted.
The following table shows the {op-system} live installer `coreos.inst` boot options for ISO and PXE installations.
.`coreos.inst` boot options
|===
|Argument |Description
a|`coreos.inst.install_dev`
a|Required. The block device on the system to install to.
[NOTE]
====
It is recommended to use the full path, such as `/dev/sda`, although `sda` is allowed.
====
a|`coreos.inst.ignition_url`
a|Optional: The URL of the Ignition config to embed into the installed system. If no URL is specified, no Ignition config is embedded. Only HTTP and HTTPS protocols are supported.
a|`coreos.inst.save_partlabel`
a|Optional: Comma-separated labels of partitions to preserve during the install. Glob-style wildcards are permitted. The specified partitions do not need to exist.
a|`coreos.inst.save_partindex`
a|Optional: Comma-separated indexes of partitions to preserve during the install. Ranges `m-n` are permitted, and either `m` or `n` can be omitted. The specified partitions do not need to exist.
a|`coreos.inst.insecure`
a|Optional: Permits the OS image that is specified by `coreos.inst.image_url` to be unsigned.
a|`coreos.inst.image_url`
a|Optional: Download and install the specified {op-system} image.
* This argument should not be used in production environments and is intended for debugging purposes only.
* While this argument can be used to install a version of {op-system} that does not match the live media, it is recommended that you instead use the media that matches the version you want to install.
* If you are using `coreos.inst.image_url`, you must also use `coreos.inst.insecure`. This is because the bare-metal media are not GPG-signed for {product-title}.
* Only HTTP and HTTPS protocols are supported.
a|`coreos.inst.skip_reboot`
a|Optional: The system will not reboot after installing. After the install finishes, you will receive a prompt that allows you to inspect what is happening during installation. This argument should not be used in production environments and is intended for debugging purposes only.
a|`coreos.inst.platform_id`
a| Optional: The Ignition platform ID of the platform the {op-system} image is being installed on. Default is `metal`. This option determines whether or not to request an Ignition config from the cloud provider, such as VMware. For example: `coreos.inst.platform_id=vmware`.
a|`ignition.config.url`
a|Optional: The URL of the Ignition config for the live boot. For example, this can be used to customize how `coreos-installer` is invoked, or to run code before or after the installation. This is different from `coreos.inst.ignition_url`, which is the Ignition config for the installed system.
|===

View File

@@ -41,29 +41,25 @@ ifeval::["{context}" == "installing-restricted-networks-ibm-power"]
:restricted:
endif::[]
:_mod-docs-content-type: REFERENCE
[id="installation-user-infra-machines-static-network_{context}"]
= Advanced {op-system} installation reference
[role="_abstract"]
You can configure networking and other advanced options, so that you can modify the {op-system-first} manual installation process.
The following tables describe the kernel arguments and command-line options you can use with the {op-system} live installer and the `coreos-installer` command.
:_mod-docs-content-type: CONCEPT
[id="installation-user-infra-machines-routing-bonding_{context}"]
ifndef::ibm-z-kvm[]
== Networking and bonding options for ISO installations
= Networking and bonding options for ISO installations
endif::ibm-z-kvm[]
ifdef::ibm-z-kvm[]
== Networking options for ISO installations
= Networking options for ISO installations
endif::ibm-z-kvm[]
[role="_abstract"]
You can configure advanced options so that you can modify the {op-system-first} manual installation process. The subsequent sections show examples of networking options for an ISO installation.
If you install {op-system} from an ISO image, you can add kernel arguments manually when you boot the image to configure networking for a node. If no networking arguments are specified, DHCP is activated in the initramfs when {op-system} detects that networking is required to fetch the Ignition config file.
[IMPORTANT]
====
When adding networking arguments manually, you must also add the `rd.neednet=1` kernel argument to bring the network up in the initramfs.
====
ifndef::ibm-z-kvm[]
The following information provides examples for configuring networking and bonding on your {op-system} nodes for ISO installations. The examples describe how to use the `ip=`, `nameserver=`, and `bond=` kernel arguments.
@@ -86,557 +82,6 @@ Ordering is important when adding the kernel arguments: `ip=` and `nameserver=`.
The networking options are passed to the `dracut` tool during system boot. For more information about the networking options supported by `dracut`, see the `dracut.cmdline` manual page.
endif::ibm-z-kvm[]
The following examples are the networking options for ISO installation.
[id="configuring-dhcp-or-static-ip-addresses_{context}"]
=== Configuring DHCP or static IP addresses
To configure an IP address, either use DHCP (`ip=dhcp`) or set an individual static IP address (`ip=<host_ip>`). If setting a static IP, you must then identify the DNS server IP address (`nameserver=<dns_ip>`) on each node. The following example sets:
* The node's IP address to `10.10.10.2`
* The gateway address to `10.10.10.254`
* The netmask to `255.255.255.0`
* The hostname to `core0.example.com`
* The DNS server address to `4.4.4.41`
* The auto-configuration value to `none`. No auto-configuration is required when IP networking is configured statically.
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
nameserver=4.4.4.41
----
[NOTE]
====
When you use DHCP to configure IP addressing for the {op-system} machines, the machines also obtain the DNS server information through DHCP. For DHCP-based deployments, you can define the DNS server address that is used by the {op-system} nodes through your DHCP server configuration.
====
=== Configuring an IP address without a static hostname
You can configure an IP address without assigning a static hostname. If a static hostname is not set by the user, it will be picked up and automatically set by a reverse DNS lookup. To configure an IP address without a static hostname refer to the following example:
* The node's IP address to `10.10.10.2`
* The gateway address to `10.10.10.254`
* The netmask to `255.255.255.0`
* The DNS server address to `4.4.4.41`
* The auto-configuration value to `none`. No auto-configuration is required when IP networking is configured statically.
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0::enp1s0:none
nameserver=4.4.4.41
----
=== Specifying multiple network interfaces
You can specify multiple network interfaces by setting multiple `ip=` entries.
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
ip=10.10.10.3::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none
----
=== Configuring default gateway and route
Optional: You can configure routes to additional networks by setting an `rd.route=` value.
[NOTE]
====
When you configure one or multiple networks, one default gateway is required. If the additional network gateway is different from the primary network gateway, the default gateway must be the primary network gateway.
====
* Run the following command to configure the default gateway:
+
[source,terminal]
----
ip=::10.10.10.254::::
----
* Enter the following command to configure the route for the additional network:
+
[source,terminal]
----
rd.route=20.20.20.0/24:20.20.20.254:enp2s0
----
=== Disabling DHCP on a single interface
You can disable DHCP on a single interface, such as when there are two or more network interfaces and only one interface is being used. In the example, the `enp1s0` interface has a static networking configuration and DHCP is disabled for `enp2s0`, which is not used:
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
ip=::::core0.example.com:enp2s0:none
----
=== Combining DHCP and static IP configurations
You can combine DHCP and static IP configurations on systems with multiple network interfaces, for example:
[source,terminal]
----
ip=enp1s0:dhcp
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none
----
=== Configuring VLANs on individual interfaces
Optional: You can configure VLANs on individual interfaces by using the `vlan=` parameter.
* To configure a VLAN on a network interface and use a static IP address, run the following command:
+
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp2s0.100:none
vlan=enp2s0.100:enp2s0
----
* To configure a VLAN on a network interface and to use DHCP, run the following command:
+
[source,terminal]
----
ip=enp2s0.100:dhcp
vlan=enp2s0.100:enp2s0
----
=== Providing multiple DNS servers
You can provide multiple DNS servers by adding a `nameserver=` entry for each server, for example:
[source,terminal]
----
nameserver=1.1.1.1
nameserver=8.8.8.8
----
ifndef::ibm-z-kvm[]
=== Bonding multiple network interfaces to a single interface
As an optional configuration, you can bond multiple network interfaces to a single interface by using the `bond=` option. To apply this configuration to your cluster, complete the procedure steps for each node that runs on your cluster.
.Procedure
* The syntax for configuring a bonded interface is: `bond=<name>[:<network_interfaces>][:options]`
+
`<name>` is the bonding device name (`bond0`), `<network_interfaces>` represents a comma-separated list of physical (ethernet) interfaces (`em1,em2`),
and _options_ is a comma-separated list of bonding options. Enter `modinfo bonding` to see available options.
* When you create a bonded interface using `bond=`, you must specify how the IP address is assigned and other
information for the bonded interface.
+
** To configure the bonded interface to use DHCP, set the bond's IP address to `dhcp`. For example:
+
[source,terminal]
----
ip=bond0:dhcp
----
+
** To configure the bonded interface to use a static IP address, enter the specific IP address you want and related information. For example:
ifndef::ibm-z[]
+
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none
----
endif::ibm-z[]
ifdef::ibm-z[]
+
[source,terminal]
----
bond=bond0:em1,em2:mode=active-backup ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none::AA:BB:CC:DD:EE:FF ip=em1:none::AA:BB:CC:DD:EE:FF
ip=em2:none::AA:BB:CC:DD:EE:FF
----
{ibm-z-title} supports value `1` for the `fail_over_mac` parameter, so always set the `fail_over_mac=1` option in active-backup mode to avoid problems when shared OSA/RoCE cards are used.
endif::ibm-z[]
ifdef::ibm-z[]
=== Bonding multiple network interfaces to a single interface
Optional: You can configure VLANs on bonded interfaces by using the `vlan=` parameter and to use DHCP, for example:
[source,terminal]
----
ip=bond0.100:dhcp
bond=bond0:em1,em2:mode=active-backup
vlan=bond0.100:bond0
----
Use the following example to configure the bonded interface with a VLAN and to use a static IP address:
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0.100:none
bond=bond0:em1,em2:mode=active-backup
vlan=bond0.100:bond0
----
endif::ibm-z[]
ifndef::ibm-z[]
[id="bonding-multiple-sriov-network-interfaces-to-dual-port_{context}"]
=== Bonding multiple SR-IOV network interfaces to a dual port NIC interface
As an optional configuration, you can bond multiple SR-IOV network interfaces to a dual port NIC interface by using the `bond=` option.
.Procedure
ifndef::installing-ibm-power[]
. Create the SR-IOV virtual functions (VFs) following the guidance in link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_virtualization/managing-virtual-devices_configuring-and-managing-virtualization#managing-sr-iov-devices_managing-virtual-devices[Managing SR-IOV devices]. Follow the procedure in the "Attaching SR-IOV networking devices to virtual machines" section.
endif::installing-ibm-power[]
ifdef::installing-ibm-power[]
. Create the SR-IOV virtual functions (VFs).
endif::installing-ibm-power[]
. Create the bond, attach the desired VFs to the bond and set the bond link state up following the guidance in link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-network-bonding_configuring-and-managing-networking[Configuring network bonding]. Follow any of the described procedures to create the bond.
The following examples illustrate the syntax you must use:
* The syntax for configuring a bonded interface is `bond=<name>[:<network_interfaces>][:options]`.
+
`<name>` is the bonding device name (`bond0`), `<network_interfaces>` represents the virtual functions (VFs) by their known name in the kernel and shown in the output of the `ip link` command(`eno1f0`, `eno2f0`), and _options_ is a comma-separated list of bonding options. Enter `modinfo bonding` to see available options.
* When you create a bonded interface using `bond=`, you must specify how the IP address is assigned and other information for the bonded interface.
** To configure the bonded interface to use DHCP, set the `ip` parameter to `dhcp` as demonstrated in the following example:
+
[source,terminal]
----
bond=bond0:eno1f0,eno2f0:mode=active-backup
ip=bond0:dhcp::AA:BB:CC:DD:EE:FF
ip=eno1f0:none::AA:BB:CC:DD:EE:FF
ip=eno2f0:none::AA:BB:CC:DD:EE:FF
----
** To configure the bonded interface to use a static IP address, enter the specific IP address you want and related information. For example:
+
[source,terminal]
----
bond=bond0:eno1f0,eno2f0:mode=active-backup
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none
----
endif::ibm-z[]
ifndef::ibm-power[]
=== Using network teaming
Optional: You can use a network teaming as an alternative to bonding by using the `team=` parameter:
* The syntax for configuring a team interface is: `team=name[:network_interfaces]`
+
_name_ is the team device name (`team0`) and _network_interfaces_ represents a comma-separated list of physical (ethernet) interfaces (`em1, em2`).
[NOTE]
====
Teaming is planned to be deprecated when {op-system} switches to an upcoming version of {op-system-base}. For more information, see this https://access.redhat.com/solutions/6509691[Red Hat Knowledgebase Article].
====
Use the following example to configure a network team:
[source,terminal]
----
team=team0:em1,em2
ip=team0:dhcp
----
endif::ibm-power[]
endif::ibm-z-kvm[]
ifndef::ibm-z,ibm-z-kvm,ibm-power[]
[id="installation-user-infra-machines-coreos-installer-options_{context}"]
== `coreos-installer` options for ISO and PXE installations
You can install {op-system} by running `coreos-installer install <options> <device>` at the command prompt, after booting into the {op-system} live environment from an ISO image.
The following table shows the subcommands, options, and arguments you can pass to the `coreos-installer` command.
.`coreos-installer` subcommands, command-line options, and arguments
|===
2+|*coreos-installer install subcommand*
|*_Subcommand_* |*_Description_*
a|`$ coreos-installer install <options> <device>`
a|Embed an Ignition config in an ISO image.
2+|*coreos-installer install subcommand options*
|*_Option_* |*_Description_*
a| `-u`, `--image-url <url>`
a|Specify the image URL manually.
a| `-f`, `--image-file <path>`
a|Specify a local image file manually. Used for debugging.
a|`-i,` `--ignition-file <path>`
a|Embed an Ignition config from a file.
a|`-I`, `--ignition-url <URL>`
a|Embed an Ignition config from a URL.
a|`--ignition-hash <digest>`
a|Digest `type-value` of the Ignition config.
a|`-p`, `--platform <name>`
a|Override the Ignition platform ID for the installed system.
a|`--console <spec>`
a|Set the kernel and bootloader console for the installed system. For more information about the format of `<spec>`, see the link:https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html[Linux kernel serial console] documentation.
a|`--append-karg <arg>...`
a|Append a default kernel argument to the installed system.
a|`--delete-karg <arg>...`
a|Delete a default kernel argument from the installed system.
a|`-n`, `--copy-network`
a|Copy the network configuration from the install environment.
[IMPORTANT]
====
The `--copy-network` option only copies networking configuration found under `/etc/NetworkManager/system-connections`. In particular, it does not copy the system hostname.
====
a|`--network-dir <path>`
a|For use with `-n`. Default is `/etc/NetworkManager/system-connections/`.
a|`--save-partlabel <lx>..`
a|Save partitions with this label glob.
a|`--save-partindex <id>...`
a|Save partitions with this number or range.
a|`--insecure`
a|Skip {op-system} image signature verification.
a|`--insecure-ignition`
a|Allow Ignition URL without HTTPS or hash.
a|`--architecture <name>`
a|Target CPU architecture. Valid values are `x86_64` and `aarch64`.
a|`--preserve-on-error`
a|Do not clear partition table on error.
a|`-h`, `--help`
a|Print help information.
2+|*coreos-installer install subcommand argument*
|*_Argument_* |*_Description_*
a|`<device>`
a|The destination device.
2+|*coreos-installer ISO subcommands*
|*_Subcommand_* |*_Description_*
a|`$ coreos-installer iso customize <options> <ISO_image>`
a|Customize a {op-system} live ISO image.
a|`coreos-installer iso reset <options> <ISO_image>`
|Restore a {op-system} live ISO image to default settings.
a|`coreos-installer iso ignition remove <options> <ISO_image>`
a|Remove the embedded Ignition config from an ISO image.
2+|*coreos-installer ISO customize subcommand options*
|*_Option_* |*_Description_*
a|`--dest-ignition <path>`
a|Merge the specified Ignition config file into a new configuration fragment for the destination system.
a|`--dest-console <spec>`
a|Specify the kernel and bootloader console for the destination system.
a|`--dest-device <path>`
a|Install and overwrite the specified destination device.
a|`--dest-karg-append <arg>`
a|Add a kernel argument to each boot of the destination system.
a|`--dest-karg-delete <arg>`
a|Delete a kernel argument from each boot of the destination system.
a|`--network-keyfile <path>`
a|Configure networking by using the specified NetworkManager keyfile for live and destination systems.
a|`--ignition-ca <path>`
a|Specify an additional TLS certificate authority to be trusted by Ignition.
a|`--pre-install <path>`
a|Run the specified script before installation.
a|`--post-install <path>`
a|Run the specified script after installation.
a|`--installer-config <path>`
a|Apply the specified installer configuration file.
a|`--live-ignition <path>`
a|Merge the specified Ignition config file into a new configuration fragment for the live environment.
a|`--live-karg-append <arg>`
a|Add a kernel argument to each boot of the live environment.
a|`--live-karg-delete <arg>`
a|Delete a kernel argument from each boot of the live environment.
a|`--live-karg-replace <k=o=n>`
a|Replace a kernel argument in each boot of the live environment, in the form `key=old=new`.
a|`-f`, `--force`
a|Overwrite an existing Ignition config.
a|`-o`, `--output <path>`
a|Write the ISO to a new output file.
a|`-h`, `--help`
a|Print help information.
2+|*coreos-installer PXE subcommands*
|*_Subcommand_* |*_Description_*
2+|Note that not all of these options are accepted by all subcommands.
a|`coreos-installer pxe customize <options> <path>`
a|Customize a {op-system} live PXE boot config.
a|`coreos-installer pxe ignition wrap <options>`
a|Wrap an Ignition config in an image.
a|`coreos-installer pxe ignition unwrap <options> <image_name>`
a|Show the wrapped Ignition config in an image.
2+|*coreos-installer PXE customize subcommand options*
|*_Option_* |*_Description_*
2+|Note that not all of these options are accepted by all subcommands.
a|`--dest-ignition <path>`
a|Merge the specified Ignition config file into a new configuration fragment for the destination system.
a|`--dest-console <spec>`
a|Specify the kernel and bootloader console for the destination system.
a|`--dest-device <path>`
a|Install and overwrite the specified destination device.
a|`--network-keyfile <path>`
a|Configure networking by using the specified NetworkManager keyfile for live and destination systems.
a|`--ignition-ca <path>`
a|Specify an additional TLS certificate authority to be trusted by Ignition.
a|`--pre-install <path>`
a|Run the specified script before installation.
a|`post-install <path>`
a|Run the specified script after installation.
a|`--installer-config <path>`
a|Apply the specified installer configuration file.
a|`--live-ignition <path>`
a|Merge the specified Ignition config file into a new configuration fragment for the live environment.
a|`-o,` `--output <path>`
a|Write the initramfs to a new output file.
[NOTE]
====
This option is required for PXE environments.
====
a|`-h`, `--help`
a|Print help information.
|===
[id="installation-user-infra-machines-coreos-inst-options_{context}"]
== `coreos.inst` boot options for ISO or PXE installations
You can automatically invoke `coreos-installer` options at boot time by passing `coreos.inst` boot arguments to the {op-system} live installer. These are provided in addition to the standard boot arguments.
* For ISO installations, the `coreos.inst` options can be added by interrupting the automatic boot at the bootloader menu. You can interrupt the automatic boot by pressing `TAB` while the *RHEL CoreOS (Live)* menu option is highlighted.
* For PXE or iPXE installations, the `coreos.inst` options must be added to the `APPEND` line before the {op-system} live installer is booted.
The following table shows the {op-system} live installer `coreos.inst` boot options for ISO and PXE installations.
.`coreos.inst` boot options
|===
|Argument |Description
a|`coreos.inst.install_dev`
a|Required. The block device on the system to install to.
[NOTE]
====
It is recommended to use the full path, such as `/dev/sda`, although `sda` is allowed.
====
a|`coreos.inst.ignition_url`
a|Optional: The URL of the Ignition config to embed into the installed system. If no URL is specified, no Ignition config is embedded. Only HTTP and HTTPS protocols are supported.
a|`coreos.inst.save_partlabel`
a|Optional: Comma-separated labels of partitions to preserve during the install. Glob-style wildcards are permitted. The specified partitions do not need to exist.
a|`coreos.inst.save_partindex`
a|Optional: Comma-separated indexes of partitions to preserve during the install. Ranges `m-n` are permitted, and either `m` or `n` can be omitted. The specified partitions do not need to exist.
a|`coreos.inst.insecure`
a|Optional: Permits the OS image that is specified by `coreos.inst.image_url` to be unsigned.
a|`coreos.inst.image_url`
a|Optional: Download and install the specified {op-system} image.
* This argument should not be used in production environments and is intended for debugging purposes only.
* While this argument can be used to install a version of {op-system} that does not match the live media, it is recommended that you instead use the media that matches the version you want to install.
* If you are using `coreos.inst.image_url`, you must also use `coreos.inst.insecure`. This is because the bare-metal media are not GPG-signed for {product-title}.
* Only HTTP and HTTPS protocols are supported.
a|`coreos.inst.skip_reboot`
a|Optional: The system will not reboot after installing. After the install finishes, you will receive a prompt that allows you to inspect what is happening during installation. This argument should not be used in production environments and is intended for debugging purposes only.
a|`coreos.inst.platform_id`
a| Optional: The Ignition platform ID of the platform the {op-system} image is being installed on. Default is `metal`. This option determines whether or not to request an Ignition config from the cloud provider, such as VMware. For example: `coreos.inst.platform_id=vmware`.
a|`ignition.config.url`
a|Optional: The URL of the Ignition config for the live boot. For example, this can be used to customize how `coreos-installer` is invoked, or to run code before or after the installation. This is different from `coreos.inst.ignition_url`, which is the Ignition config for the installed system.
|===
endif::ibm-z,ibm-z-kvm,ibm-power[]
ifeval::["{context}" == "installing-ibm-z"]
:!ibm-z:
endif::[]

View File

@@ -0,0 +1,42 @@
// Module included in the following assemblies:
//
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
// * installing/installing_platform_agnostic/installing-platform-agnostic.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
// * installing/installing_ibm_z/installing-ibm-z.adoc
// * installing/installing_ibm_z/installing-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-ibm-z-lpar.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-kvm.adoc
// * installing/installing_ibm_z/installing-restricted-networks-ibm-z-lpar.adoc
// * installing/installing_ibm_power/installing-ibm-power.adoc
// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc
:_mod-docs-content-type: PROCEDURE
[id="specifying-multiple-network-interfaces_{context}"]
= Specifying multiple network interfaces and DNS servers
[role="_abstract"]
You can specify multiple network interfaces by setting multiple `ip=` entries. You can provide multiple DNS servers by adding a `nameserver=` entry for each server,
.Procedure
* To specify multiple network interfaces for your interfaces, you can enter a command like the following command:
+
[source,terminal]
----
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
ip=10.10.10.3::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none
----
* To provide multiple DNS servers by adding a `nameserver=` entry for each server, enter a command like the following command:
+
[source,terminal]
----
nameserver=1.1.1.1
nameserver=8.8.8.8
----