Skip to content

Commit 2dc7f57

Browse files
committed
OSDOCS-17013-bm-upi-2: Continuation of the CQA2 for installing-bare-metal.adoc
1 parent 107ff97 commit 2dc7f57

11 files changed

+483
-399
lines changed

installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
ifeval::["{context}" == "installing-with-agent-based-installer"]
2+
:agent:
3+
endif::[]
4+
15
:_mod-docs-content-type: ASSEMBLY
26
[id="installing-bare-metal-network-customizations"]
37
= Installing a user-provisioned bare metal cluster with network customizations
@@ -152,6 +156,20 @@ include::modules/installation-user-infra-machines-pxe.adoc[leveloffset=+2]
152156

153157
include::modules/installation-user-infra-machines-advanced.adoc[leveloffset=+2]
154158

159+
include::modules/installation-user-infra-machines-advanced-network.adoc[leveloffset=+3]
160+
161+
include::modules/installation-user-infra-machines-advanced-disk.adoc[leveloffset=+3]
162+
163+
include::modules/installation-user-infra-machines-advanced-retain-disk.adoc[leveloffset=+3]
164+
165+
include::modules/installation-user-infra-machines-advanced-ignition.adoc[leveloffset=+3]
166+
167+
[role="_additional-resources"]
168+
.Additional resources
169+
170+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/configuring_and_managing_networking/index#getting-started-with-nmcli_configuring-and-managing-networking[Getting started with nmcli]
171+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/configuring_and_managing_networking/index#getting-started-with-nmtui_configuring-and-managing-networking[Getting started with nmtui]
172+
155173
include::modules/installation-user-infra-machines-advanced-console-configuration.adoc[leveloffset=+3]
156174

157175
include::modules/installation-user-infra-machines-advanced-enabling-serial-console.adoc[leveloffset=+3]
@@ -244,3 +262,7 @@ include::modules/cluster-telemetry.adoc[leveloffset=+1]
244262
* If necessary, you can
245263
xref:../../../support/remote_health_monitoring/remote-health-reporting.adoc#remote-health-reporting[Remote health reporting].
246264
* xref:../../../registry/configuring_registry_storage/configuring-registry-storage-baremetal.adoc#configuring-registry-storage-baremetal[Set up your registry and configure registry storage].
265+
266+
ifeval::["{context}" == "installing-with-agent-based-installer"]
267+
:!agent:
268+
endif::[]

installing/installing_bare_metal/upi/installing-bare-metal.adoc

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
ifeval::["{context}" == "installing-with-agent-based-installer"]
2+
:agent:
3+
endif::[]
4+
15
:_mod-docs-content-type: ASSEMBLY
26
[id="installing-bare-metal"]
37
= Installing a user-provisioned cluster on bare metal
@@ -171,6 +175,20 @@ include::modules/installation-user-infra-machines-pxe.adoc[leveloffset=+2]
171175

172176
include::modules/installation-user-infra-machines-advanced.adoc[leveloffset=+2]
173177

178+
include::modules/installation-user-infra-machines-advanced-network.adoc[leveloffset=+3]
179+
180+
include::modules/installation-user-infra-machines-advanced-disk.adoc[leveloffset=+3]
181+
182+
include::modules/installation-user-infra-machines-advanced-retain-disk.adoc[leveloffset=+3]
183+
184+
include::modules/installation-user-infra-machines-advanced-ignition.adoc[leveloffset=+3]
185+
186+
[role="_additional-resources"]
187+
.Additional resources
188+
189+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/configuring_and_managing_networking/index#getting-started-with-nmcli_configuring-and-managing-networking[Getting started with nmcli]
190+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/configuring_and_managing_networking/index#getting-started-with-nmtui_configuring-and-managing-networking[Getting started with nmtui]
191+
174192
include::modules/installation-user-infra-machines-advanced-console-configuration.adoc[leveloffset=+3]
175193

176194
include::modules/installation-user-infra-machines-advanced-enabling-serial-console.adoc[leveloffset=+3]
@@ -271,3 +289,7 @@ include::modules/cluster-telemetry.adoc[leveloffset=+1]
271289
* xref:../../../post_installation_configuration/cluster-tasks.adoc#available_cluster_customizations[Customize your cluster].
272290
* xref:../../../support/remote_health_monitoring/remote-health-reporting.adoc#remote-health-reporting[Remote health reporting]
273291
* xref:../../../registry/configuring_registry_storage/configuring-registry-storage-baremetal.adoc#configuring-registry-storage-baremetal[Set up your registry and configure registry storage]
292+
293+
ifeval::["{context}" == "installing-with-agent-based-installer"]
294+
:!agent:
295+
endif::[]

installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
ifeval::["{context}" == "installing-with-agent-based-installer"]
2+
:agent:
3+
endif::[]
4+
15
:_mod-docs-content-type: ASSEMBLY
26
[id="installing-restricted-networks-bare-metal"]
37
= Installing a user-provisioned bare metal cluster on a disconnected environment
@@ -165,6 +169,20 @@ include::modules/installation-user-infra-machines-pxe.adoc[leveloffset=+2]
165169

166170
include::modules/installation-user-infra-machines-advanced.adoc[leveloffset=+2]
167171

172+
include::modules/installation-user-infra-machines-advanced-network.adoc[leveloffset=+3]
173+
174+
include::modules/installation-user-infra-machines-advanced-disk.adoc[leveloffset=+3]
175+
176+
include::modules/installation-user-infra-machines-advanced-retain-disk.adoc[leveloffset=+3]
177+
178+
include::modules/installation-user-infra-machines-advanced-ignition.adoc[leveloffset=+3]
179+
180+
[role="_additional-resources"]
181+
.Additional resources
182+
183+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/configuring_and_managing_networking/index#getting-started-with-nmcli_configuring-and-managing-networking[Getting started with nmcli]
184+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/configuring_and_managing_networking/index#getting-started-with-nmtui_configuring-and-managing-networking[Getting started with nmtui]
185+
168186
include::modules/installation-user-infra-machines-advanced-console-configuration.adoc[leveloffset=+3]
169187

170188
include::modules/installation-user-infra-machines-advanced-enabling-serial-console.adoc[leveloffset=+3]
@@ -266,3 +284,7 @@ include::modules/cluster-telemetry.adoc[leveloffset=+1]
266284
* If necessary, you can
267285
xref:../../../support/remote_health_monitoring/remote-health-reporting.adoc#remote-health-reporting[Remote health reporting].
268286
* If necessary, see xref:../../../support/remote_health_monitoring/remote-health-reporting.adoc#insights-operator-register-disconnected-cluster_remote-health-reporting[Registering your disconnected cluster]
287+
288+
ifeval::["{context}" == "installing-with-agent-based-installer"]
289+
:!agent:
290+
endif::[]

installing/installing_with_agent_based_installer/installing-with-agent-based-installer.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ include::modules/installing-ocp-agent-manifest-folder.adoc[leveloffset=+3]
5252
.Additional resources
5353
* xref:../../machine_configuration/machine-configs-configure.adoc#machine-configs-configure[Using MachineConfig objects to configure nodes]
5454

55-
// Partitioning the disk
56-
include::modules/installation-user-infra-machines-advanced.adoc[leveloffset=+3]
55+
// Disk partitioning
56+
include::modules/installation-user-infra-machines-advanced-disk.adoc[leveloffset=+3]
5757

5858
// Using ZTP manifests
5959
include::modules/installing-ocp-agent-ZTP.adoc[leveloffset=+2]
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
4+
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
5+
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
6+
// * installing/installing_with_agent_based_installer/installing-with-agent-based-installer.adoc
7+
8+
ifeval::["{context}" == "installing-with-agent-based-installer"]
9+
:agent:
10+
endif::[]
11+
ifeval::["{context}" == "installing-restricted-networks-bare-metal"]
12+
:restricted:
13+
endif::[]
14+
15+
:_mod-docs-content-type: PROCEDURE
16+
[id="installation-user-infra-machines-advanced-disk_{context}"]
17+
= Disk partitioning
18+
19+
ifndef::agent[]
20+
[role="_abstract"]
21+
Disk partitions are created on {product-title} cluster nodes during the {op-system-first} installation. Each {op-system} node of a particular architecture uses the same partition layout, unless you override the default partitioning configuration. During the {op-system} installation, the size of the root file system is increased to use any remaining available space on the target device.
22+
23+
[IMPORTANT]
24+
====
25+
The use of a custom partition scheme on your node might result in {product-title} not monitoring or alerting on some node partitions. For more information on monitoring host file systems when using custom partitioning, see link:https://access.redhat.com/articles/4766521[Understanding OpenShift File System Monitoring (eviction conditions)].
26+
====
27+
28+
{product-title} monitors the following two filesystem identifiers:
29+
30+
* `nodefs`, which is the filesystem that contains `/var/lib/kubelet`.
31+
* `imagefs`, which is the filesystem that contains `/var/lib/containers`.
32+
33+
For the default partition scheme, `nodefs` and `imagefs` monitor the same root filesystem, `/`.
34+
35+
To override the default partitioning when installing {op-system} on an {product-title} cluster node, you must create separate partitions. Consider a situation where you want to add a separate storage partition for your containers and container images. For example, by mounting `/var/lib/containers` in a separate partition, the kubelet separately monitors `/var/lib/containers` as the `imagefs` directory and the root file system as the `nodefs` directory.
36+
37+
[IMPORTANT]
38+
====
39+
If you have resized your disk size to host a larger file system, consider creating a separate `/var/lib/containers` partition. Consider resizing a disk that has an `xfs` format to reduce CPU time issues caused by a high number of allocation groups.
40+
====
41+
endif::agent[]
42+
ifdef::agent[]
43+
[role="_abstract"]
44+
In general, you must use the default disk partitioning that is created during the {op-system} installation. However, there are cases where you might want to create a separate partition for a directory that you expect to grow.
45+
endif::agent[]
46+
47+
{product-title} supports the addition of a single partition to attach storage to either the `/var` directory or a subdirectory of `/var`. For example:
48+
49+
* `/var/lib/containers`: Holds container-related content that can grow
50+
as more images and containers are added to a system.
51+
* `/var/lib/etcd`: Holds data that you might want to keep separate for purposes such as performance optimization of etcd storage.
52+
* `/var`: Holds data that you might want to keep separate for purposes such as auditing.
53+
+
54+
[IMPORTANT]
55+
====
56+
For disk sizes larger than 100GB, and especially larger than 1TB, create a separate `/var` partition.
57+
====
58+
59+
Storing the contents of a `/var` directory separately makes it easier to grow storage for those areas as needed and reinstall {product-title} at a later date so to keep that data intact. This method eliminates the need to re-pull containers or copy large log files during system updates.
60+
61+
The use of a separate partition for the `/var` directory or a subdirectory of `/var` also prevents data growth in the partitioned directory from filling up the root file system.
62+
63+
The following procedure sets up a separate `/var` partition by adding a machine config manifest that is wrapped into the Ignition config file for a node type during the preparation phase of an installation.
64+
65+
ifdef::agent[]
66+
.Prerequisites
67+
* You have created an `openshift` subdirectory within your installation directory.
68+
endif::agent[]
69+
70+
.Procedure
71+
72+
ifndef::agent[]
73+
. On your installation host, change to the directory that contains the {product-title} installation program and generate the Kubernetes manifests for the cluster:
74+
+
75+
[source,terminal]
76+
----
77+
$ openshift-install create manifests --dir <installation_directory>
78+
----
79+
endif::agent[]
80+
81+
. Create a Butane config that configures the additional partition. For example, name the file `$HOME/clusterconfig/98-var-partition.bu`, change the disk device name to the name of the storage device on the `worker` systems, and set the storage size as appropriate. This example places the `/var` directory on a separate partition:
82+
+
83+
[source,yaml,subs="attributes+"]
84+
----
85+
variant: openshift
86+
version: {product-version}.0
87+
metadata:
88+
labels:
89+
machineconfiguration.openshift.io/role: worker
90+
name: 98-var-partition
91+
storage:
92+
disks:
93+
- device: /dev/disk/by-id/<device_name>
94+
partitions:
95+
- label: var
96+
start_mib: <partition_start_offset>
97+
size_mib: <partition_size>
98+
number: 5
99+
filesystems:
100+
- device: /dev/disk/by-partlabel/var
101+
path: /var
102+
format: xfs
103+
mount_options: [defaults, prjquota]
104+
with_mount_unit: true
105+
----
106+
+
107+
where:
108+
+
109+
`<device_name>`:: Specifies the storage device name of the disk that you want to partition.
110+
`<partition_start_offset>`:: Specifies the minimum offset value for the boot disk. For best performance, specify a minimum offset value of 25000 mebibytes. The root file system is automatically resized to fill all available space up to the specified offset. If no offset value is specified, or if the specified value is smaller than the recommended minimum, the resulting root file system will be too small, and future reinstalls of {op-system} might overwrite the beginning of the data partition.
111+
`<partition_size>`:: Specifies the size of the data partition in mebibytes.
112+
`mount_options`:: The `prjquota` mount option must be enabled for filesystems used for container storage.
113+
+
114+
[NOTE]
115+
====
116+
When creating a separate `/var` partition, you cannot use different instance types for compute nodes, if the different instance types do not have the same device name.
117+
====
118+
119+
. Create a manifest from the Butane config and save it to the `clusterconfig/openshift` directory. For example, run the following command:
120+
+
121+
[source,terminal]
122+
----
123+
$ butane $HOME/clusterconfig/98-var-partition.bu -o $HOME/clusterconfig/openshift/98-var-partition.yaml
124+
----
125+
126+
ifndef::agent[]
127+
. Create the Ignition config files by running the following command:
128+
+
129+
[source,terminal]
130+
----
131+
$ openshift-install create ignition-configs --dir <installation_directory>
132+
----
133+
* `<installation_directory>`: Specify the name installation directory.
134+
+
135+
Ignition config files are created for the bootstrap, control plane, and compute nodes in the installation directory:
136+
+
137+
----
138+
.
139+
├── auth
140+
│ ├── kubeadmin-password
141+
│ └── kubeconfig
142+
├── bootstrap.ign
143+
├── master.ign
144+
├── metadata.json
145+
└── worker.ign
146+
----
147+
+
148+
The files in the `<installation_directory>/manifest` and `<installation_directory>/openshift` directories are wrapped into the Ignition config files, including the file that contains the `98-var-partition` custom `MachineConfig` object.
149+
150+
. Optional: You can apply the custom disk partitioning by referencing the Ignition config files during the {op-system} installations.
151+
endif::agent[]
152+
153+
ifeval::["{context}" == "installing-with-agent-based-installer"]
154+
:!agent:
155+
endif::[]
156+
ifeval::["{context}" == "installing-restricted-networks-bare-metal"]
157+
:!restricted:
158+
endif::[]
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
4+
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
5+
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
6+
// * installing/installing_with_agent_based_installer/installing-with-agent-based-installer.adoc
7+
8+
ifeval::["{context}" == "installing-restricted-networks-bare-metal"]
9+
:restricted:
10+
endif::[]
11+
12+
:_mod-docs-content-type: REFERENCE
13+
[id="installation-user-infra-machines-advanced-ignition_{context}"]
14+
= Identifying Ignition configs
15+
16+
[role="_abstract"]
17+
When doing an {op-system} manual installation, there are two types of Ignition configs that you can provide, with different reasons for providing each one:
18+
19+
* **Permanent install Ignition config**: Every manual {op-system} installation needs to pass one of the Ignition config files generated by `openshift-installer`, such as `bootstrap.ign`, `master.ign` and `worker.ign`, to carry out the installation.
20+
21+
[IMPORTANT]
22+
====
23+
It is not recommended to modify these Ignition config files directly. You can update the manifest files that are wrapped into the Ignition config files, as outlined in examples in the preceding sections.
24+
====
25+
26+
For PXE installations, you can pass the Ignition configs on the `APPEND` line using the `coreos.inst.ignition_url=` option. For ISO installations, after the ISO boots to the shell prompt, you must identify the Ignition config on the `coreos-installer` command line with the `--ignition-url=` option. In both cases, only HTTP and HTTPS protocols are supported.
27+
28+
* **Live install Ignition config**: This type can be created by using the `coreos-installer` `customize` subcommand of `coreos-installer` and its various options. With this method, the Ignition config passes to the live install medium, runs immediately upon booting, and performs setup tasks before or after the {op-system} system installs to disk. This method must be only used for performing tasks that must be done once and not applied again later, such as with advanced partitioning that cannot be done using a machine config.
29+
30+
For PXE or ISO boots, you can create the Ignition config and `APPEND` the `ignition.config.url=` option to identify the location of the Ignition config. You also need to append `ignition.firstboot ignition.platform.id=metal` else the `ignition.config.url` option is ignored.
31+
32+
ifeval::["{context}" == "installing-restricted-networks-bare-metal"]
33+
:!restricted:
34+
endif::[]
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
4+
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc
5+
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
6+
// * installing/installing_with_agent_based_installer/installing-with-agent-based-installer.adoc
7+
8+
ifeval::["{context}" == "installing-restricted-networks-bare-metal"]
9+
:restricted:
10+
endif::[]
11+
12+
:_mod-docs-content-type: PROCEDURE
13+
[id="installation-user-infra-machines-advanced_network_{context}"]
14+
= Using advanced networking options for PXE and ISO installations
15+
16+
[role="_abstract"]
17+
Networking for {product-title} nodes uses DHCP by default to gather all necessary configuration settings.
18+
19+
To set up static IP addresses or configure special settings, such as bonding, you can do one of the following:
20+
21+
* Pass special kernel parameters when you boot the live installer.
22+
23+
* Use a machine config to copy networking files to the installed system.
24+
25+
* Configure networking from a live installer shell prompt, then copy those settings to the installed system so that they take effect when the installed system first boots.
26+
27+
To configure a PXE or iPXE installation, use one of the following options:
28+
29+
* See the "Advanced RHCOS installation reference" tables.
30+
31+
* Use a machine config to copy networking files to the installed system.
32+
33+
To configure an ISO installation, use the following procedure.
34+
35+
.Procedure
36+
37+
. Boot the ISO installer.
38+
39+
. From the live system shell prompt, configure networking for the live system by using available RHEL tools, such as `nmcli` or `nmtui`.
40+
41+
. Run the `coreos-installer` command to install the system, adding the `--copy-network` option to copy networking configuration. For example:
42+
+
43+
ifndef::restricted[]
44+
[source,terminal]
45+
----
46+
$ sudo coreos-installer install --copy-network \
47+
--ignition-url=http://host/worker.ign /dev/disk/by-id/scsi-<serial_number>
48+
----
49+
endif::[]
50+
ifdef::restricted[]
51+
[source,terminal]
52+
----
53+
$ sudo coreos-installer install --copy-network \
54+
--ignition-url=http://host/worker.ign \
55+
--offline \
56+
/dev/disk/by-id/scsi-<serial_number>
57+
----
58+
endif::[]
59+
+
60+
[IMPORTANT]
61+
====
62+
The `--copy-network` option only copies networking configuration found under `/etc/NetworkManager/system-connections`. In particular, it does not copy the system hostname.
63+
====
64+
65+
. Reboot into the installed system.
66+
67+
ifeval::["{context}" == "installing-restricted-networks-bare-metal"]
68+
:!restricted:
69+
endif::[]

0 commit comments

Comments
 (0)