From 63ca1d26dd6fbcf6cecac2429ccb09055218d2de Mon Sep 17 00:00:00 2001 From: Sebastian Kopacz Date: Tue, 20 May 2025 09:51:06 -0400 Subject: [PATCH] OSDOCS-14725: OVE install method --- _topic_maps/_topic_map.yml | 2 + images/installing-ove-console.png | Bin 0 -> 75640 bytes .../installing-ove.adoc | 42 ++++++++++ modules/installing-ove-advantages.adoc | 25 ++++++ modules/installing-ove-console-final.adoc | 79 ++++++++++++++++++ modules/installing-ove-console-initial.adoc | 68 +++++++++++++++ modules/installing-ove-hosts.adoc | 35 ++++++++ modules/installing-ove-iso.adoc | 34 ++++++++ modules/installing-ove-rendezvous.adoc | 44 ++++++++++ 9 files changed, 329 insertions(+) create mode 100644 images/installing-ove-console.png create mode 100644 installing/installing_with_agent_based_installer/installing-ove.adoc create mode 100644 modules/installing-ove-advantages.adoc create mode 100644 modules/installing-ove-console-final.adoc create mode 100644 modules/installing-ove-console-initial.adoc create mode 100644 modules/installing-ove-hosts.adoc create mode 100644 modules/installing-ove-iso.adoc create mode 100644 modules/installing-ove-rendezvous.adoc diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index e3763f32faf9..efdd20c5acc0 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -409,6 +409,8 @@ Topics: File: installing-with-agent-basic - Name: Installing a cluster with customizations File: installing-with-agent-based-installer + - Name: Installing a cluster without an external registry + File: installing-ove - Name: Preparing PXE assets for OCP File: prepare-pxe-assets-agent - Name: Preparing installation assets for iSCSI booting diff --git a/images/installing-ove-console.png b/images/installing-ove-console.png new file mode 100644 index 0000000000000000000000000000000000000000..d0a640ef8260937668c2fa42a4c230da18ad06b4 GIT binary patch literal 75640 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 literal 0 HcmV?d00001 diff --git a/installing/installing_with_agent_based_installer/installing-ove.adoc b/installing/installing_with_agent_based_installer/installing-ove.adoc new file mode 100644 index 000000000000..fd5280448798 --- /dev/null +++ b/installing/installing_with_agent_based_installer/installing-ove.adoc @@ -0,0 +1,42 @@ +:_mod-docs-content-type: ASSEMBLY +[id="installing-ove"] += Installing a cluster without an external registry +include::_attributes/common-attributes.adoc[] +:context: installing-ove + +toc::[] + +[role="_abstract"] +You can deploy an {product-title} cluster without the need for an external image registry, either in a connected or disconnected environment. This installation method uses a simplified user interface and self-contained media to facilitate the installation. + +Although the method supports general clusters, the downloaded media contains an Operator bundle that is curated specifically for {ove-first}, meaning additional Operators must be retrieved separately if required for other use cases. + +:FeatureName: Installing an {ove} cluster using this method +include::snippets/technology-preview.adoc[] + +include::modules/installing-ove-advantages.adoc[leveloffset=+1] + +// Downloading the installation ISO +include::modules/installing-ove-iso.adoc[leveloffset=+1] + +// Mounting the ISO and booting the rendezvous node +include::modules/installing-ove-rendezvous.adoc[leveloffset=+1] + +// Configuring cluster details and choosing Operators to install +include::modules/installing-ove-console-initial.adoc[leveloffset=+1] + +// Booting the remaining cluster hosts +include::modules/installing-ove-hosts.adoc[leveloffset=+1] + +// Completing cluster configuration and initiating the installation +include::modules/installing-ove-console-final.adoc[leveloffset=+1] + +[id="additional-resources_{context}"] +[role="_additional-resources"] +== Additional resources + +* xref:../../virt/getting_started/virt-using-the-cli-tools.adoc#installing-virtctl_virt-using-the-cli-tools[Installing virtctl] +* xref:../../virt/creating_vm/virt-creating-vms-from-instance-types.adoc#virt-creating-vms-from-instance-types[Creating virtual machines from instance types] +* xref:../../virt/creating_vm/virt-creating-vms-from-templates.adoc#virt-creating-vms-from-templates[Creating virtual machines from templates] +* link:https://docs.redhat.com/en/documentation/migration_toolkit_for_virtualization/2.8/html/installing_and_using_the_migration_toolkit_for_virtualization/migrating-vmware[Migrating virtual machines from VMware vSphere (Migration Toolkit for Virtualization documentation)] +* link:https://docs.redhat.com/en/documentation/migration_toolkit_for_virtualization/2.8/html/installing_and_using_the_migration_toolkit_for_virtualization/migrating-rhv_rhv[Migrating virtual machines from Red{nbsp}Hat Virtualization (Migration Toolkit for Virtualization documentation)] \ No newline at end of file diff --git a/modules/installing-ove-advantages.adoc b/modules/installing-ove-advantages.adoc new file mode 100644 index 000000000000..4456495f2785 --- /dev/null +++ b/modules/installing-ove-advantages.adoc @@ -0,0 +1,25 @@ +// Module included in the following assemblies: +// +// * installing/installing_with_agent_based_installer/installing-ove.adoc + +:_mod-docs-content-type: CONCEPT +[id="virt-installing-ove-advantages_{context}"] += Installation method advantages + +[role="_abstract"] +This method has several advantages for users who want to install a cluster primarily to run virtualized workloads using {VirtProductName}. + +Simplified web interface:: The cluster installation is performed through a graphical user interface. +In addition to providing reasonable default configurations, this interface guides you through the installation by providing hints and warnings about configuring your cluster, without limiting the configurations that are available at installation time. +This reduces the need for in-depth knowledge of {product-title} while still allowing for complex configurations to be made. + +No external registry needed:: If you are installing your cluster in a disconnected environment, you do not need to configure an external image registry in your environment when using this method. +All other disconnected installation methods require this additional environment setup. + +Included Operator bundle:: You can install the Virtualization bundle, which includes all of the additional {olm-first} Operators needed to run virtual machines on your cluster, at the same time as the cluster installation. + +[NOTE] +==== +This installation method does not come with any storage Operators as part of the Operator bundle. +You must configure your own storage solution separately. +==== diff --git a/modules/installing-ove-console-final.adoc b/modules/installing-ove-console-final.adoc new file mode 100644 index 000000000000..0401fa6daa20 --- /dev/null +++ b/modules/installing-ove-console-final.adoc @@ -0,0 +1,79 @@ +// Module included in the following assemblies: +// +// * virt/install/installing-ove.adoc + +:_mod-docs-content-type: PROCEDURE +[id="virt-installing-ove-console-final_{context}"] += Completing cluster configuration and initiating the installation + +[role="_abstract"] +Before you can finally initiate the cluster installation, you must verify host details, configure cluster networking details, and download the default cluster credentials. + +.Prerequisites + +* You have booted all of the hosts that will comprise your cluster and configured them with the correct rendezvous node IP address. ++ +[IMPORTANT] +==== +You can add as many hosts as you want to your cluster. +However, at this stage, you must at least have enough available hosts to match the value you specified in the *Number of control plane nodes* field of the installation console's *Cluster details* page. +==== + +.Procedure + +. On the installation console hosted by the rendezvous node, configure the hosts in the *Host discovery* page: + +.. Verify that every machine you booted from the ISO image appears in the *Host Inventory* section and has a *Status* value of *Ready*. + +.. For each host, click the expand icon and verify that all of the specification fields are correct. + +.. Optional: For each host except the rendezvous node, configure the role by selecting an option from the dropdown menu of the *Role* column. +The default value for every host except the rendezvous node is `Auto-assign`. + +.. Click *Next* to continue. + +. On the *Storage* page, click the expand icon for each host and verify that all of the specification fields are correct. + +. Click *Next* to continue. + +. If you want to manage your own networking, select the *User-Managed Networking* option on the *Networking* page. + +. If you want the cluster to manage networking, select the *Cluster-Managed Networking* option on the *Networking* page and configure cluster networking: + +.. Select a *Networking stack type*. + +.. Optional: Select a machine network from the dropdown menu of the *Machine network* field. +Otherwise, a default value is selected. + +.. Enter an IP address in the *API IP* field. +An API IP provides an endpoint for all users to interact with and configure the platform. + +.. Enter an IP address in the *Ingress IP* field. +An ingress IP provides an endpoint for application traffic flowing from outside the cluster. + +. Optional: Select the *Use advanced networking* checkbox and configure other parameters such as the *Cluster network CIDR*, the *Cluster network host prefix*, or *the Service network CIDR*. ++ +This option is available for both cluster-managed and user-managed networking. + +. Optional: Enter a key in the *Host SSH Public Key for troubleshooting after installation* field, which you can use to connect to hosts using a public SSH key for troubleshooting after installation. ++ +This option is available for both cluster-managed and user-managed networking. + +. Click *Next* to continue. + +. On the *Download credentials* page, select the checkbox to acknowledge that you must download credential files prior to cluster installation. + +. Click *Download credentials* and save the cluster credentials file in a secure location. ++ +[IMPORTANT] +==== +You must download the credentials at this stage. +Once you initiate the cluster installation, the rendezvous node reboots and you can no longer retrieve the credentials. +==== + +. On the *Review and create* page, review all of the cluster details and click *Install cluster* to initiate the cluster installation. ++ +During the installation process, the rendezvous node reboots and the console you used to configure the installation is no longer accessible. +At that point, the URL of the deployed cluster's web console is provided, although this console is not accessible until the cluster installation is completed. ++ +Once the cluster is installed, you can visit this URL and sign in to the web console with your downloaded credentials. \ No newline at end of file diff --git a/modules/installing-ove-console-initial.adoc b/modules/installing-ove-console-initial.adoc new file mode 100644 index 000000000000..c269718926ca --- /dev/null +++ b/modules/installing-ove-console-initial.adoc @@ -0,0 +1,68 @@ +// Module included in the following assemblies: +// +// * virt/install/installing-booting.adoc + +:_mod-docs-content-type: PROCEDURE +[id="virt-installing-ove-console-initial_{context}"] += Configuring cluster details and choosing Operators to install + +[role="_abstract"] +Once the rendezvous node has been booted from the ISO image, configure details about your cluster and choose Virtualization Operators to install from the web console. + +.Prerequisites + +* You have the URL of the installation web console that was provided by the rendezvous node. + +.Procedure + +. In a web browser, go to the URL provided by the rendezvous node. + +. Configure your cluster in the *Cluster details* page: + +.. Enter a name for the cluster in the *Cluster name* field. + +.. Enter a base domain for the cluster in the *Base domain* field. +All subdomains for the cluster will use this base domain. ++ +[NOTE] +==== +The base domain must be a valid DNS name. +You must not have a wildcard domain set up for the base domain. +==== + +.. Enter your pull secret in the *Pull secret* field. +You can obtain a copy of your pull secret from the link:https://console.redhat.com/openshift/install/pull-secret[{hybrid-console}]. + +.. Optional: In the *Number of control plane nodes* field, select the number of control plane nodes for your installation from the dropdown menu. +The default value is `3`. + +.. Optional: Select the *Include custom manifests* checkbox if you want to upload custom manifests to further configure your cluster. +This option adds an additional page for custom manifests that you use later in the configuration process. ++ +[IMPORTANT] +==== +If you have already added custom manifests, clearing the *Include custom manifests* checkbox automatically deletes them all. +You must confirm the deletion. +==== + +.. Optional: Under *Encryption of installation disks*, select the toggle switch for each disk you want to encrypt. + +.. If you are encrypting disks, select either *TPM v2* or *Tang* as your encryption method. + +.. If you are encrypting disks using a Tang server, enter the **Server URL** and **Server Thumbprint** in the **Tang servers** section of the page. You can select **Add another Tang server** to configure details for additional Tang server. + +.. Click *Next* to continue. +Once you proceed to the next page, you cannot go back to change any of these cluster details. + +. Choose additional Operators to install in the *Operators* page: + +.. If you want to install all of the Operators recommended for running Virtualization on your cluster, select *Virtualization* in the *Bundles* section. + +.. If you want to install only some Operators, select the individual Operators from the Single Operators section. ++ +[NOTE] +==== +Some of the listed Operators are available only as part of the Virtualization Operator bundle. +==== + +.. Click *Next* to continue. diff --git a/modules/installing-ove-hosts.adoc b/modules/installing-ove-hosts.adoc new file mode 100644 index 000000000000..5511481eb78e --- /dev/null +++ b/modules/installing-ove-hosts.adoc @@ -0,0 +1,35 @@ +// Module included in the following assemblies: +// +// * virt/install/installing-booting.adoc + +:_mod-docs-content-type: PROCEDURE +[id="virt-installing-ove-hosts_{context}"] += Booting the remaining cluster hosts + +[role="_abstract"] +After you have configured initial cluster details in the installation web console and have a defined cluster topology, you must boot the remaining machines that will make up your cluster from the ISO image. + +[NOTE] +==== +You can boot non-rendezvous node machines earlier in the installation process, even before you designate a machine as the rendezvous node. However, you must know the valid IP address that you will select for the rendezvous node. + +When you boot your non-rendezvous node machines, the machines will perform a check to see if an Assisted Service is running at the specified rendezvous IP address. +If the service is not yet running, a warning appears to confirm whether you would still like to proceed booting the machine from the ISO image. +==== + +.Prerequisites + +* You have downloaded the installation ISO. + +.Procedure + +. Attach the ISO image to a machine and boot the machine from this image. +You can also boot from a USB drive containing the ISO image. + +. Wait for a machine to boot from the image and display the *Rendezvous node setup* menu. + +. Enter the rendezvous node IP address in the *Rendezvous node setup* menu and select *Save rendezvous IP*. + +. Select *Save and Continue*. + +. Repeat this process for each remaining machine that will comprise the hosts in your cluster. \ No newline at end of file diff --git a/modules/installing-ove-iso.adoc b/modules/installing-ove-iso.adoc new file mode 100644 index 000000000000..56e5d9b1729b --- /dev/null +++ b/modules/installing-ove-iso.adoc @@ -0,0 +1,34 @@ +// Module included in the following assemblies: +// +// * virt/install/installing-ove.adoc + +:_mod-docs-content-type: PROCEDURE +[id="virt-installing-ove-iso_{context}"] += Downloading the installation ISO + +[role="_abstract"] +You must first download the ISO image that will be used to run the installation on your bare-metal machines. +This image includes all of the necessary {product-title} release images, as well as the {olm-first} Operators needed to install Virtualization on the cluster. + +[NOTE] +==== +The size of the ISO image can vary depending on the release you select. +==== + +.Procedure + +. Log in to the {hybrid-console-url}. + +. On the *Red Hat OpenShift* tile, click *OpenShift*. + +. On the *Red Hat OpenShift Container Platform* tile, click *Create cluster*. + +. Click the *Datacenter* tab. + +. Under *Assisted Installer*, click *Create cluster*. + +. In the *Cluster details* page, select the toggle for "I'm installing on a disconnected/air-gapped/secured environment". + +. Click *Next*. + +. Click *Download ISO*. \ No newline at end of file diff --git a/modules/installing-ove-rendezvous.adoc b/modules/installing-ove-rendezvous.adoc new file mode 100644 index 000000000000..76139c92635a --- /dev/null +++ b/modules/installing-ove-rendezvous.adoc @@ -0,0 +1,44 @@ +// Module included in the following assemblies: +// +// * virt/install/installing-booting.adoc + +:_mod-docs-content-type: PROCEDURE +[id="virt-installing-ove-booting_{context}"] += Mounting the ISO and booting the rendezvous node + +[role="_abstract"] +To initiate the cluster installation, attach the downloaded ISO to the machine that will serve as your rendezvous host and boot the machine from the ISO. + +The rendezvous node runs as the bootstrap host during the installation, which hosts the configuration web console and runs an Assisted Service that facilitates the cluster deployment. + +.Prerequisites + +* You have downloaded the installation ISO. + +.Procedure + +. On the machine that you have designated to be the rendezvous node, attach the ISO image to the machine and boot the machine from this image. +You can also boot from a USB drive containing the ISO image. ++ +[NOTE] +==== +If you mount the ISO via a virtual drive, the cluster installation might take several hours to complete. +Mount the ISO with physical media such as a USB drive to reduce the overall installation time. +==== + +. Wait for the machine to boot from the image and display the *Rendezvous node setup* menu. + +. Select *This is the rendezvous node* in the *Rendezvous node setup* menu. ++ +[IMPORTANT] +==== +You must select only one machine to act as the rendezvous node. +Selecting two or more machines as a rendezvous node is not supported. +==== + +. In the *Rendezvous node IP selection* menu, select an IP address from the list to use as the rendezvous node IP address and select *Continue*. +Make note of this address for later use. + +. Wait for the rendezvous node to provide a URL for finishing the installation and save the URL for later use, as shown in the following image. ++ +image::installing-ove-console.png[The rendezvous host providing the URL of the installation console] \ No newline at end of file