From ea78b2c6d74d85f2b303a374c2ed4d39f28aa9a3 Mon Sep 17 00:00:00 2001 From: Shafer Slockett Date: Tue, 20 Jan 2026 22:44:04 -0500 Subject: [PATCH] OSDOCS-17898: Add bare metal nodes on vSphere documentation. --- _topic_maps/_topic_map.yml | 2 + ...bare-metal-compute-vsphere-user-infra.adoc | 43 +++++++++++ .../adding-compute-user-infra-general.adoc | 7 +- modules/bare-metal-vsphere-iso.adoc | 73 +++++++++++++++++++ 4 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 machine_management/user_infra/adding-bare-metal-compute-vsphere-user-infra.adoc create mode 100644 modules/bare-metal-vsphere-iso.adoc diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 3979270289..e563a7aafb 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -2451,6 +2451,8 @@ Topics: File: adding-aws-compute-user-infra - Name: Adding compute machines to vSphere manually File: adding-vsphere-compute-user-infra + - Name: Adding bare-metal compute machines to a vSphere cluster + File: adding-bare-metal-compute-vsphere-user-infra - Name: Adding compute machines to bare metal File: adding-bare-metal-compute-user-infra - Name: Managing control plane machines diff --git a/machine_management/user_infra/adding-bare-metal-compute-vsphere-user-infra.adoc b/machine_management/user_infra/adding-bare-metal-compute-vsphere-user-infra.adoc new file mode 100644 index 0000000000..0a2098655e --- /dev/null +++ b/machine_management/user_infra/adding-bare-metal-compute-vsphere-user-infra.adoc @@ -0,0 +1,43 @@ +:_mod-docs-content-type: ASSEMBLY +[id="adding-bare-metal-compute-vsphere-user-infra"] += Adding bare-metal compute machines to a vSphere cluster +include::_attributes/common-attributes.adoc[] +:context: adding-bare-metal-compute-vsphere-user-infra + +toc::[] + +[role="_abstract"] +To support workloads requiring direct hardware access, extend your existing {vmw-first} cluster by adding bare-metal compute machines. This creates a hybrid architecture that combines a virtualized control plane with the performance of physical hardware. + +This procedure supports clusters installed using installer-provisioned infrastructure, user-provisioned infrastructure, or the Assisted Installer. + +:FeatureName: Bare-metal nodes on vSphere clusters +include::snippets/technology-preview.adoc[] + +[IMPORTANT] +==== +Bare-metal compute machines added to a {vmw-short} cluster are unmanaged by the Machine API. You cannot use compute machine sets or the cluster autoscaler to manage these compute machines. Lifecycle tasks such as provisioning and replacement must be performed manually. +==== + +== Prerequisites + +* You have an existing {product-title} cluster installed on {vmw-short}. +* You have bare-metal hardware with network connectivity to the existing cluster's machine network. +* You have configured the network for the new bare-metal compute machines, including: +** DHCP: Persistent IP addresses and hostname reservations. +** DNS: Forward and reverse DNS resolution for the new hostnames. +* You have obtained the {op-system-first} ISO image that matches your cluster version. You can download this from the *Cluster Details* page on the {hybrid-console} or extract it from the cluster payload. + +[WARNING] +==== +To use this feature, you must explicitly disable the native {vmw-short} Container Storage Interface (CSI) driver for the entire cluster. This means existing {vmw-short} virtual machines will lose the ability to provision or attach {vmw-short} volumes. You must ensure that all workloads (virtual and physical) are migrated to an alternative storage solution before proceeding. +==== + +[role="_additional-resources"] +.Additional resources +* xref:../../migration_toolkit_for_containers/mtc-migrating-vms.adoc#mtc-migrating-vms[Migrating virtual machine storage] +* xref:../../storage/container_storage_interface/persistent-storage-csi-vsphere.adoc#persistent-storage-csi-vsphere-disable-storage-procedure_persistent-storage-csi-vsphere[Disabling and enabling storage on vSphere] + +include::modules/bare-metal-vsphere-iso.adoc[leveloffset=+1] + +include::modules/installation-approve-csrs.adoc[leveloffset=+1] \ No newline at end of file diff --git a/machine_management/user_infra/adding-compute-user-infra-general.adoc b/machine_management/user_infra/adding-compute-user-infra-general.adoc index 6388c7fab6..96977d3cce 100644 --- a/machine_management/user_infra/adding-compute-user-infra-general.adoc +++ b/machine_management/user_infra/adding-compute-user-infra-general.adoc @@ -6,7 +6,8 @@ include::_attributes/common-attributes.adoc[] toc::[] -You can add compute machines to a cluster on user-provisioned infrastructure either as part of the installation process or after installation. The postinstallation process requires some of the same configuration files and parameters that were used during installation. +[role="_abstract"] +Manually add compute machines to a cluster on user-provisioned infrastructure either during or after installation. The postinstallation process requires some of the same configuration files and parameters that were used during installation. [id="upi-adding-compute-aws"] == Adding compute machines to Amazon Web Services @@ -35,6 +36,10 @@ You can xref:../../machine_management/creating_machinesets/creating-machineset-v To manually add more compute machines to your cluster, see xref:../../machine_management/user_infra/adding-vsphere-compute-user-infra.adoc#adding-vsphere-compute-user-infra[Adding compute machines to vSphere manually]. +To add bare-metal compute machines to your cluster, see xref:../../machine_management/user_infra/adding-bare-metal-compute-vsphere-user-infra.adoc#adding-bare-metal-compute-vsphere-user-infra[Adding bare-metal compute machines to a vSphere cluster]. + +:FeatureName: Bare-metal nodes on vSphere clusters +include::snippets/technology-preview.adoc[] [id="upi-adding-compute-bare-metal"] == Adding compute machines to bare metal diff --git a/modules/bare-metal-vsphere-iso.adoc b/modules/bare-metal-vsphere-iso.adoc new file mode 100644 index 0000000000..9e05ec4bfc --- /dev/null +++ b/modules/bare-metal-vsphere-iso.adoc @@ -0,0 +1,73 @@ +// Module included in the following assemblies: +// +// * machine_management/user_infra/adding-bare-metal-compute-vsphere-user-infra.adoc + +:_mod-docs-content-type: PROCEDURE +[id="bare-metal-vsphere-iso_{context}"] += Creating {op-system} machines using an ISO image + +[role="_abstract"] +To add bare-metal compute machines to your {vmw-first} cluster, you must manually provision them using an {op-system} ISO image and the `coreos-installer` utility. + +:FeatureName: Bare-metal nodes on vSphere clusters +include::snippets/technology-preview.adoc[] + +.Prerequisites + +* You have access to the {op-system} ISO image that matches your cluster version. +* You have an HTTP server accessible to the bare-metal machine to host the Ignition config file. +* You have disabled the {vmw-short} CSI driver. +* The OpenShift CLI (`oc`) is installed. + +.Procedure + +. Extract the Ignition config file for the worker node type from the cluster by running the following command: ++ +[source,terminal,subs="+quotes"] +---- +$ oc extract -n openshift-machine-api secret/worker-user-data-managed --keys=userData --to=- > worker.ign +---- + +. Upload the `worker.ign` Ignition config file to your HTTP server. Record the URL of this file. + +. Validate that the Ignition file is accessible from the network. The following example uses `curl` to verify the file presence: ++ +[source,terminal,subs="+quotes"] +---- +$ curl -I http:///worker.ign +---- + +. Boot the bare-metal machine using the {op-system} ISO image. + +. From the installation console, run the `coreos-installer` command: ++ +[source,terminal,subs="+quotes"] +---- +$ sudo coreos-installer install /dev/sda \ + --ignition-url=http:///worker.ign \ + --insecure-ignition \ + --platform=none +---- ++ +where: ++ +`/dev/sda`:: Specifies the target install device for your hardware. +``:: Specifies the address of your web server. + +. Reboot the machine: ++ +[source,terminal,subs="+quotes"] +---- +$ reboot +---- + +. Monitor the boot process. After the machine reboots, it attempts to join the cluster and generates certificate signing requests (CSRs). + +.Verification + +* Verify that the new compute machine has joined the cluster and is in the `Ready` state: ++ +[source,terminal,subs="+quotes"] +---- +$ oc get nodes +---- \ No newline at end of file