From b63d1c0fc387607c1f954112dbbebed4fe1cf23f Mon Sep 17 00:00:00 2001 From: Alisha Prabhu Date: Wed, 6 Sep 2023 10:27:19 +0530 Subject: [PATCH] Creating a cluster with multi-architecture compute machine on IBM Power --- _topic_maps/_topic_map.yml | 2 ++ modules/installation-approve-csrs.adoc | 24 ++++++++++++++ modules/machine-user-infra-machines-iso.adoc | 13 ++++++++ modules/machine-user-infra-machines-pxe.adoc | 26 +++++++++++++++- ...cture-verifying-cluster-compatibility.adoc | 31 +++++++++++++++++-- ...ng-multi-arch-compute-nodes-ibm-power.adoc | 24 ++++++++++++++ .../multi-architecture-configuration.adoc | 2 ++ 7 files changed, 119 insertions(+), 3 deletions(-) create mode 100644 post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-power.adoc diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 738d940d97..c04bfc0994 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -550,6 +550,8 @@ Topics: File: creating-multi-arch-compute-nodes-ibm-z - Name: Creating a cluster with multi-architecture compute machines on IBM Z and IBM LinuxONE with RHEL KVM File: creating-multi-arch-compute-nodes-ibm-z-kvm + - Name: Creating a cluster with multi-architecture compute machines on IBM Power + File: creating-multi-arch-compute-nodes-ibm-power - Name: Managing your cluster with multi-architecture compute machines File: multi-architecture-compute-managing - Name: Enabling encryption on a vSphere cluster diff --git a/modules/installation-approve-csrs.adoc b/modules/installation-approve-csrs.adoc index bab8496abe..0870f20947 100644 --- a/modules/installation-approve-csrs.adoc +++ b/modules/installation-approve-csrs.adoc @@ -23,6 +23,7 @@ // * installing/installing_ibm_z/installing-ibm-power.adoc // * installing/installing_ibm_z/installing-restricted-networks-ibm-power.adoc // * installing/installing_azure/installing-restricted-networks-azure-user-provisioned.adoc +// * post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-power.adoc ifeval::["{context}" == "installing-ibm-z"] @@ -31,6 +32,9 @@ endif::[] ifeval::["{context}" == "installing-ibm-z-kvm"] :ibm-z-kvm: endif::[] +ifeval::["{context}" == "creating-multi-arch-compute-nodes-ibm-power"] +:ibm-power: +endif::[] :_content-type: PROCEDURE [id="installation-approve-csrs_{context}"] @@ -170,18 +174,35 @@ $ oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name} + [source,terminal] ---- +ifndef::ibm-power[] $ oc get nodes +endif::ibm-power[] +ifdef::ibm-power[] +$ oc get nodes -o wide +endif::ibm-power[] ---- + .Example output [source,terminal] ---- +ifndef::ibm-power[] NAME STATUS ROLES AGE VERSION master-0 Ready master 73m v1.27.3 master-1 Ready master 73m v1.27.3 master-2 Ready master 74m v1.27.3 worker-0 Ready worker 11m v1.27.3 worker-1 Ready worker 11m v1.27.3 +endif::ibm-power[] +ifdef::ibm-power[] +NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME +worker-0-ppc64le Ready worker 42d v1.28.2+e3ba6d9 192.168.200.21 Red Hat Enterprise Linux CoreOS 415.92.202309261919-0 (Plow) 5.14.0-284.34.1.el9_2.ppc64le cri-o://1.28.1-3.rhaos4.15.gitb36169e.el9 +worker-1-ppc64le Ready worker 42d v1.28.2+e3ba6d9 192.168.200.20 Red Hat Enterprise Linux CoreOS 415.92.202309261919-0 (Plow) 5.14.0-284.34.1.el9_2.ppc64le cri-o://1.28.1-3.rhaos4.15.gitb36169e.el9 +master-0-x86 Ready control-plane,master 75d v1.28.2+e3ba6d9 10.248.0.38 10.248.0.38 Red Hat Enterprise Linux CoreOS 415.92.202309261919-0 (Plow) 5.14.0-284.34.1.el9_2.x86_64 cri-o://1.28.1-3.rhaos4.15.gitb36169e.el9 +master-1-x86 Ready control-plane,master 75d v1.28.2+e3ba6d9 10.248.0.39 10.248.0.39 Red Hat Enterprise Linux CoreOS 415.92.202309261919-0 (Plow) 5.14.0-284.34.1.el9_2.x86_64 cri-o://1.28.1-3.rhaos4.15.gitb36169e.el9 +master-2-x86 Ready control-plane,master 75d v1.28.2+e3ba6d9 10.248.0.40 10.248.0.40 Red Hat Enterprise Linux CoreOS 415.92.202309261919-0 (Plow) 5.14.0-284.34.1.el9_2.x86_64 cri-o://1.28.1-3.rhaos4.15.gitb36169e.el9 +worker-0-x86 Ready worker 75d v1.28.2+e3ba6d9 10.248.0.43 10.248.0.43 Red Hat Enterprise Linux CoreOS 415.92.202309261919-0 (Plow) 5.14.0-284.34.1.el9_2.x86_64 cri-o://1.28.1-3.rhaos4.15.gitb36169e.el9 +worker-1-x86 Ready worker 75d v1.28.2+e3ba6d9 10.248.0.44 10.248.0.44 Red Hat Enterprise Linux CoreOS 415.92.202309261919-0 (Plow) 5.14.0-284.34.1.el9_2.x86_64 cri-o://1.28.1-3.rhaos4.15.gitb36169e.el9 +endif::ibm-power[] ---- + [NOTE] @@ -198,3 +219,6 @@ endif::[] ifeval::["{context}" == "installing-ibm-z-kvm"] :!ibm-z-kvm: endif::[] +ifeval::["{context}" == "creating-multi-arch-compute-nodes-ibm-power"] +:!ibm-power: +endif::[] diff --git a/modules/machine-user-infra-machines-iso.adoc b/modules/machine-user-infra-machines-iso.adoc index b292a2c0ab..8df63fcf32 100644 --- a/modules/machine-user-infra-machines-iso.adoc +++ b/modules/machine-user-infra-machines-iso.adoc @@ -2,15 +2,25 @@ // // * machine_management/user_infra/adding-bare-metal-compute-user-infra.adoc // * post_installation_configuration/node-tasks.adoc +// * post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-power.adoc + ifeval::["{context}" == "multi-architecture-configuration"] :multi: endif::[] +ifeval::["{context}" == "creating-multi-arch-compute-nodes-ibm-power"] +:ibm-power: +endif::[] :_content-type: PROCEDURE [id="machine-user-infra-machines-iso_{context}"] = Creating {op-system} machines using an ISO image +ifndef::ibm-power[] You can create more {op-system-first} compute machines for your bare metal cluster by using an ISO image to create the machines. +endif::ibm-power[] +ifdef::ibm-power[] +You can create more {op-system-first} compute machines for your cluster by using an ISO image to create the machines. +endif::ibm-power[] .Prerequisites @@ -85,4 +95,7 @@ Ensure that the installation is successful on each node before commencing with t ifeval::["{context}" == "multi-architecture-configuration"] :!multi: +endif::[] +ifeval::["{context}" == "creating-multi-arch-compute-nodes-ibm-power"] +:!ibm-power: endif::[] \ No newline at end of file diff --git a/modules/machine-user-infra-machines-pxe.adoc b/modules/machine-user-infra-machines-pxe.adoc index 9707599f42..a7d7900b5b 100644 --- a/modules/machine-user-infra-machines-pxe.adoc +++ b/modules/machine-user-infra-machines-pxe.adoc @@ -3,6 +3,11 @@ // * machine_management/user_infra/adding-bare-metal-compute-user-infra.adoc // * post_installation_configuration/node-tasks.adoc // * post_installation_configuration/multi-architecture-configuration.adoc +// * post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-power.adoc + +ifeval::["{context}" == "creating-multi-arch-compute-nodes-ibm-power"] +:ibm-power: +endif::[] :_content-type: PROCEDURE [id="machine-user-infra-machines-pxe_{context}"] @@ -39,7 +44,12 @@ LABEL pxeboot This configuration does not enable serial console access on machines with a graphical console. To configure a different console, add one or more `console=` arguments to the `APPEND` line. For example, add `console=tty0 console=ttyS0` to set the first PC serial port as the primary console and the graphical console as a secondary console. For more information, see link:https://access.redhat.com/articles/7212[How does one set up a serial terminal and/or console in Red Hat Enterprise Linux?]. ==== +ifndef::ibm-power[] ** For iPXE (`x86_64` + `aarch64`): +endif::ibm-power[] +ifdef::ibm-power[] +** For iPXE (`x86_64` + `ppc64le`): +endif::ibm-power[] + ---- kernel http:///rhcos--live-kernel- initrd=main coreos.live.rootfs_url=http:///rhcos--live-rootfs..img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http:///worker.ign <1> <2> @@ -63,10 +73,20 @@ This configuration does not enable serial console access on machines with a grap + [NOTE] ==== +ifndef::ibm-power[] To network boot the CoreOS `kernel` on `aarch64` architecture, you need to use a version of iPXE build with the `IMAGE_GZIP` option enabled. See link:https://ipxe.org/buildcfg/image_gzip[`IMAGE_GZIP` option in iPXE]. +endif::ibm-power[] +ifdef::ibm-power[] +To network boot the CoreOS `kernel` on `ppc64le` architecture, you need to use a version of iPXE build with the `IMAGE_GZIP` option enabled. See link:https://ipxe.org/buildcfg/image_gzip[`IMAGE_GZIP` option in iPXE]. +endif::ibm-power[] ==== +ifndef::ibm-power[] ** For PXE (with UEFI and GRUB as second stage) on `aarch64`: +endif::ibm-power[] +ifdef::ibm-power[] +** For PXE (with UEFI and GRUB as second stage) on `ppc64le`: +endif::ibm-power[] + ---- menuentry 'Install CoreOS' { @@ -81,4 +101,8 @@ The `coreos.live.rootfs_url` parameter value is the location of the `rootfs` fil For example, to use DHCP on a NIC that is named `eno1`, set `ip=eno1:dhcp`. <3> Specify the location of the `initramfs` file that you uploaded to your TFTP server. -. Use the PXE or iPXE infrastructure to create the required compute machines for your cluster. \ No newline at end of file +. Use the PXE or iPXE infrastructure to create the required compute machines for your cluster. + +ifeval::["{context}" == "creating-multi-arch-compute-nodes-ibm-power"] +:!ibm-power: +endif::[] \ No newline at end of file diff --git a/modules/multi-architecture-verifying-cluster-compatibility.adoc b/modules/multi-architecture-verifying-cluster-compatibility.adoc index 59a7ba61b5..44ec77f4db 100644 --- a/modules/multi-architecture-verifying-cluster-compatibility.adoc +++ b/modules/multi-architecture-verifying-cluster-compatibility.adoc @@ -6,6 +6,11 @@ // * post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-gcp.adoc // * post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-z-kvm.adoc // * post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-z.adoc +// * post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-power.adoc + +ifeval::["{context}" == "creating-multi-arch-compute-nodes-ibm-power"] +:ibm-power: +endif::[] :_content-type: PROCEDURE [id="multi-architecture-verifying-cluster-compatibility_{context}"] @@ -18,6 +23,18 @@ Before you can start adding compute nodes of different architectures to your clu * You installed the OpenShift CLI (`oc`) +ifdef::ibm-power[] +[NOTE] +==== +When using multiple architectures, hosts for {product-title} nodes must share the same storage layer. If they do not have the same storage layer, use a storage provider such as `nfs-provisioner`. +==== + +[NOTE] +==== +You should limit the number of network hops between the compute and control plane as much as possible. +==== +endif::ibm-power[] + .Procedure * You can check that your cluster uses the architecture payload by running the following command: @@ -41,6 +58,16 @@ You can then begin adding multi-arch compute nodes to your cluster. + [source,terminal] ---- -$ null +{ + "url": "https://access.redhat.com/errata/RHSA-2023:4671" +} ---- -To migrate your cluster to one that supports multi-architecture compute machines, follow the procedure in "Migrating to a cluster with multi-architecture compute machines". \ No newline at end of file ++ +[IMPORTANT] +==== +To migrate your cluster so the cluster supports multi-architecture compute machines, follow the procedure in xref:../../updating/updating_a_cluster/migrating-to-multi-payload.adoc#migrating-to-multi-payload[Migrating to a cluster with multi-architecture compute machines]. +==== + +ifeval::["{context}" == "creating-multi-arch-compute-nodes-ibm-power"] +:!ibm-power: +endif::[] \ No newline at end of file diff --git a/post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-power.adoc b/post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-power.adoc new file mode 100644 index 0000000000..bad0818b7a --- /dev/null +++ b/post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-power.adoc @@ -0,0 +1,24 @@ +:_content-type: ASSEMBLY +:context: creating-multi-arch-compute-nodes-ibm-power +[id="creating-multi-arch-compute-nodes-ibm-power"] += Creating a cluster with multi-architecture compute machines on {ibmpowerProductName} +include::_attributes/common-attributes.adoc[] + +toc::[] + +To create a cluster with multi-architecture compute machines on {ibmpowerProductName} (`ppc64le`), you must have an existing single-architecture (`x86_64`) cluster. You can then add `ppc64le` compute machines to your {product-title} cluster. + +[IMPORTANT] +==== +Before you can add `ppc64le` nodes to your cluster, you must upgrade your cluster to one that uses the multi-architecture payload. For more information on migrating to the multi-architecture payload, see xref:../../updating/updating_a_cluster/migrating-to-multi-payload.adoc#migrating-to-multi-payload[Migrating to a cluster with multi-architecture compute machines]. +==== + +The following procedures explain how to create a {op-system} compute machine using an ISO image or network PXE booting. This will allow you to add `ppc64le` nodes to your cluster and deploy a cluster with multi-architecture compute machines. + +include::modules/multi-architecture-verifying-cluster-compatibility.adoc[leveloffset=+1] + +include::modules/machine-user-infra-machines-iso.adoc[leveloffset=+1] + +include::modules/machine-user-infra-machines-pxe.adoc[leveloffset=+1] + +include::modules/installation-approve-csrs.adoc[leveloffset=+1] \ No newline at end of file diff --git a/post_installation_configuration/configuring-multi-arch-compute-machines/multi-architecture-configuration.adoc b/post_installation_configuration/configuring-multi-arch-compute-machines/multi-architecture-configuration.adoc index 8ec42d22f9..bd59af2fb1 100644 --- a/post_installation_configuration/configuring-multi-arch-compute-machines/multi-architecture-configuration.adoc +++ b/post_installation_configuration/configuring-multi-arch-compute-machines/multi-architecture-configuration.adoc @@ -36,6 +36,8 @@ To create a cluster with multi-architecture compute machines for various platfor * xref:../../post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-z-kvm.adoc#creating-multi-arch-compute-nodes-ibm-z-kvm[Creating a cluster with multi-architecture compute machines on {ibmzProductName} and {linuxoneProductName} with {op-system-base} KVM] +* xref:../../post_installation_configuration/configuring-multi-arch-compute-machines/creating-multi-arch-compute-nodes-ibm-power.adoc#creating-multi-arch-compute-nodes-ibm-power[Creating a cluster with multi-architecture compute machines on {ibmpowerProductName}] + [IMPORTANT] ==== Autoscaling from zero is currently not supported on Google Cloud Platform (GCP).