From e0240065cd91a501e58f38f117fe82894f018551 Mon Sep 17 00:00:00 2001 From: Peter Roth Date: Wed, 7 Feb 2024 20:08:00 +0100 Subject: [PATCH] GH#51152: document Single Node OKD --- _attributes/common-attributes.adoc | 2 + _topic_maps/_topic_map.yml | 2 +- .../install-sno-installing-sno.adoc | 40 +++++++- ...sno-about-installing-on-a-single-node.adoc | 8 ++ ...or-installing-sno-on-a-cloud-provider.adoc | 11 +++ ...o-generating-the-install-iso-manually.adoc | 91 +++++++++++++++++++ .../install-sno-installing-sno-on-azure.adoc | 5 + .../install-sno-installing-sno-on-gcp.adoc | 5 + ...install-sno-installing-with-usb-media.adoc | 9 ++ ...-monitoring-the-installation-manually.adoc | 27 ++++++ ...d-providers-for-single-node-openshift.adoc | 5 + 11 files changed, 201 insertions(+), 4 deletions(-) diff --git a/_attributes/common-attributes.adoc b/_attributes/common-attributes.adoc index c8921ef78d..13f40c508f 100644 --- a/_attributes/common-attributes.adoc +++ b/_attributes/common-attributes.adoc @@ -176,6 +176,8 @@ endif::[] :quay: Red Hat Quay :sno: single-node OpenShift :sno-caps: Single-node OpenShift +:sno-okd: single-node OKD +:sno-caps-okd: Single-node OKD //TALO and Redfish events Operators :cgu-operator-first: Topology Aware Lifecycle Manager (TALM) :cgu-operator-full: Topology Aware Lifecycle Manager diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 30051ab4bb..b3dccccc66 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -363,7 +363,7 @@ Topics: File: installation-config-parameters-agent - Name: Installing on a single node Dir: installing_sno - Distros: openshift-enterprise + Distros: openshift-enterprise,openshift-origin Topics: - Name: Preparing to install OpenShift on a single node File: install-sno-preparing-to-install-sno diff --git a/installing/installing_sno/install-sno-installing-sno.adoc b/installing/installing_sno/install-sno-installing-sno.adoc index f5459a9ed7..d23c3fed16 100644 --- a/installing/installing_sno/install-sno-installing-sno.adoc +++ b/installing/installing_sno/install-sno-installing-sno.adoc @@ -6,9 +6,8 @@ include::_attributes/common-attributes.adoc[] toc::[] -You can install {sno} using the web-based Assisted Installer and a discovery ISO that you generate using the Assisted Installer. You can also install {sno} by using `coreos-installer` to generate the installation ISO. - ifndef::openshift-origin[] +You can install {sno} using the web-based Assisted Installer and a discovery ISO that you generate using the Assisted Installer. You can also install {sno} by using `coreos-installer` to generate the installation ISO. [id="installing-sno-assisted-installer"] == Installing {sno} using the Assisted Installer @@ -26,18 +25,40 @@ include::modules/install-sno-generating-the-discovery-iso-with-the-assisted-inst * xref:../../virt/about_virt/about-virt.adoc#virt-what-you-can-do-with-virt_about-virt[What you can do with OpenShift Virtualization] include::modules/install-sno-installing-with-the-assisted-installer.adoc[leveloffset=+2] +endif::openshift-origin[] + +ifdef::openshift-origin[] +You can install {sno-okd} using the Assisted Service or you can generate an installation ISO using `openshift-installer`. + +[id="installing-sno-assisted-installer"] +== Installing {sno-okd} using the Assisted Service + +To install {sno-okd} with the Assisted Service, please refer to the following documentation: +* link:https://github.com/openshift/assisted-service/tree/master/deploy/podman#okd-configuration[Install OKD using Assisted Service] +endif::openshift-origin[] [role="_additional-resources"] .Additional resources * xref:../../installing/installing_sno/install-sno-installing-sno.adoc#installing-with-usb-media_install-sno-installing-sno-with-the-assisted-installer[Creating a bootable ISO image on a USB drive] + +ifndef::openshift-origin[] * xref:../../installing/installing_sno/install-sno-installing-sno.adoc#install-booting-from-an-iso-over-http-redfish_install-sno-installing-sno-with-the-assisted-installer[Booting from an HTTP-hosted ISO image using the Redfish API] * xref:../../nodes/nodes/nodes-sno-worker-nodes.adoc#nodes-sno-worker-nodes[Adding worker nodes to {sno} clusters] - endif::openshift-origin[] +ifdef::openshift-origin[] +* xref:../../nodes/nodes/nodes-sno-worker-nodes.adoc#nodes-sno-worker-nodes[Adding worker nodes to {sno-okd} clusters] +endif::openshift-origin[] + +ifndef::openshift-origin[] [id="install-sno-installing-sno-manually"] == Installing {sno} manually +endif::openshift-origin[] +ifdef::openshift-origin[] +[id="install-sno-installing-sno-manually"] +== Installing {sno-okd} manually +endif::openshift-origin[] To install {product-title} on a single node, first generate the installation ISO, and then boot the server from the ISO. You can monitor the installation using the `openshift-install` installation program. @@ -55,11 +76,22 @@ include::modules/install-sno-monitoring-the-installation-manually.adoc[leveloffs .Additional resources * xref:../../installing/installing_sno/install-sno-installing-sno.adoc#installing-with-usb-media_install-sno-installing-sno-with-the-assisted-installer[Creating a bootable ISO image on a USB drive] +ifndef::openshift-origin[] * xref:../../installing/installing_sno/install-sno-installing-sno.adoc#install-booting-from-an-iso-over-http-redfish_install-sno-installing-sno-with-the-assisted-installer[Booting from an HTTP-hosted ISO image using the Redfish API] +endif::openshift-origin[] +ifndef::openshift-origin[] * xref:../../nodes/nodes/nodes-sno-worker-nodes.adoc#nodes-sno-worker-nodes[Adding worker nodes to {sno} clusters] [id="install-sno-installing-sno-on-cloud-providers"] == Installing {sno} on cloud providers +endif::openshift-origin[] + +ifdef::openshift-origin[] +* xref:../../nodes/nodes/nodes-sno-worker-nodes.adoc#nodes-sno-worker-nodes[Adding worker nodes to {sno-okd} clusters] + +[id="install-sno-installing-sno-on-cloud-providers"] +== Installing {sno-okd} on cloud providers +endif::openshift-origin[] include::modules/install-sno-additional-requirements-for-installing-sno-on-a-cloud-provider.adoc[leveloffset=+2] @@ -89,6 +121,7 @@ include::modules/install-sno-installing-sno-on-gcp.adoc[leveloffset=+2] include::modules/install-sno-installing-with-usb-media.adoc[leveloffset=+1] +ifndef::openshift-origin[] include::modules/install-booting-from-an-iso-over-http-redfish.adoc[leveloffset=+1] include::modules/creating-custom-live-rhcos-iso.adoc[leveloffset=+1] @@ -153,3 +186,4 @@ You can use dedicated or shared IFLs to assign sufficient compute resources. Res include::modules/setting-up-bastion-for-sno.adoc[leveloffset=+2] include::modules/install-sno-ibm-power.adoc[leveloffset=+2] +endif::openshift-origin[] diff --git a/modules/install-sno-about-installing-on-a-single-node.adoc b/modules/install-sno-about-installing-on-a-single-node.adoc index 189b115ac4..eb07d763e1 100644 --- a/modules/install-sno-about-installing-on-a-single-node.adoc +++ b/modules/install-sno-about-installing-on-a-single-node.adoc @@ -8,7 +8,15 @@ You can create a single-node cluster with standard installation methods. {product-title} on a single node is a specialized installation that requires the creation of a special Ignition configuration file. The primary use case is for edge computing workloads, including intermittent connectivity, portable clouds, and 5G radio access networks (RAN) close to a base station. The major tradeoff with an installation on a single node is the lack of high availability. +ifndef::openshift-origin[] [IMPORTANT] ==== The use of OpenShiftSDN with {sno} is not supported. OVN-Kubernetes is the default network plugin for {sno} deployments. ==== +endif::openshift-origin[] +ifdef::openshift-origin[] +[IMPORTANT] +==== +The use of OpenShiftSDN with {sno-okd} is not supported. OVN-Kubernetes is the default network plugin for {sno-okd} deployments. +==== +endif::openshift-origin[] diff --git a/modules/install-sno-additional-requirements-for-installing-sno-on-a-cloud-provider.adoc b/modules/install-sno-additional-requirements-for-installing-sno-on-a-cloud-provider.adoc index b7d70b369b..153d943b47 100644 --- a/modules/install-sno-additional-requirements-for-installing-sno-on-a-cloud-provider.adoc +++ b/modules/install-sno-additional-requirements-for-installing-sno-on-a-cloud-provider.adoc @@ -4,6 +4,7 @@ :_mod-docs-content-type: CONCEPT [id="additional-requirements-for-installing-sno-on-a-cloud-provider_{context}"] +ifndef::openshift-origin[] = Additional requirements for installing {sno} on a cloud provider The documentation for installer-provisioned installation on cloud providers is based on a high availability cluster consisting of three control plane nodes. When referring to the documentation, consider the differences between the requirements for a {sno} cluster and a high availability cluster. @@ -11,6 +12,16 @@ The documentation for installer-provisioned installation on cloud providers is b * A high availability cluster requires a temporary bootstrap machine, three control plane machines, and at least two compute machines. For a {sno} cluster, you need only a temporary bootstrap machine and one cloud instance for the control plane node and no worker nodes. * The minimum resource requirements for high availability cluster installation include a control plane node with 4 vCPUs and 100GB of storage. For a {sno} cluster, you must have a minimum of 8 vCPU cores and 120GB of storage. +endif::openshift-origin[] +ifdef::openshift-origin[] += Additional requirements for installing {sno-okd} on a cloud provider + +The documentation for installer-provisioned installation on cloud providers is based on a high availability cluster consisting of three control plane nodes. When referring to the documentation, consider the differences between the requirements for a {sno-okd} cluster and a high availability cluster. + +* A high availability cluster requires a temporary bootstrap machine, three control plane machines, and at least two compute machines. For a {sno-okd} cluster, you need only a temporary bootstrap machine and one cloud instance for the control plane node and no worker nodes. + +* The minimum resource requirements for high availability cluster installation include a control plane node with 4 vCPUs and 100GB of storage. For a {sno-okd} cluster, you must have a minimum of 8 vCPU cores and 120GB of storage. +endif::openshift-origin[] * The `controlPlane.replicas` setting in the `install-config.yaml` file should be set to `1`. diff --git a/modules/install-sno-generating-the-install-iso-manually.adoc b/modules/install-sno-generating-the-install-iso-manually.adoc index 7cf218b234..0c79b20e90 100644 --- a/modules/install-sno-generating-the-install-iso-manually.adoc +++ b/modules/install-sno-generating-the-install-iso-manually.adoc @@ -14,6 +14,7 @@ Installing {product-title} on a single node requires an installation ISO, which .Procedure +ifndef::openshift-origin[] . Set the {product-title} version: + [source,terminal] @@ -22,6 +23,17 @@ $ OCP_VERSION= <1> ---- + <1> Replace `` with the current version, for example, `latest-{product-version}` +endif::openshift-origin[] +ifdef::openshift-origin[] +. Set the {product-title} version: ++ +[source,terminal] +---- +$ OKD_VERSION= <1> +---- ++ +<1> Replace `` with the current version, for example, `4.14.0-0.okd-2024-01-26-175629` +endif::openshift-origin[] . Set the host architecture: + @@ -31,6 +43,7 @@ $ ARCH= <1> ---- <1> Replace `` with the target host architecture, for example, `aarch64` or `x86_64`. +ifndef::openshift-origin[] . Download the {product-title} client (`oc`) and make it available for use by entering the following commands: + [source,terminal] @@ -47,13 +60,42 @@ $ tar zxf oc.tar.gz ---- $ chmod +x oc ---- +endif::openshift-origin[] +ifdef::openshift-origin[] +. Download the {product-title} client (`oc`) and make it available for use by entering the following commands: ++ +[source,terminal] +---- +$ curl -L https://github.com/okd-project/okd/releases/download/$OKD_VERSION/openshift-client-linux-$OKD_VERSION.tar.gz -o oc.tar.gz +---- ++ +[source,terminal] +---- +$ tar zxf oc.tar.gz +---- ++ +[source,terminal] +---- +$ chmod +x oc +---- +endif::openshift-origin[] +ifndef::openshift-origin[] . Download the {product-title} installer and make it available for use by entering the following commands: + [source,terminal] ---- $ curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OCP_VERSION/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz ---- +endif::openshift-origin[] +ifdef::openshift-origin[] +. Download the {product-title} installer and make it available for use by entering the following commands: ++ +[source,terminal] +---- +$ curl -L https://github.com/okd-project/okd/releases/download/$OKD_VERSION/openshift-install-linux-$OKD_VERSION.tar.gz -o openshift-install-linux.tar.gz +---- +endif::openshift-origin[] + [source,terminal] ---- @@ -72,12 +114,22 @@ $ chmod +x openshift-install $ ISO_URL=$(./openshift-install coreos print-stream-json | grep location | grep $ARCH | grep iso | cut -d\" -f4) ---- +ifndef::openshift-origin[] . Download the {op-system} ISO: + [source,terminal] ---- $ curl -L $ISO_URL -o rhcos-live.iso ---- +endif::openshift-origin[] +ifdef::openshift-origin[] +. Download the {op-system} ISO: ++ +[source,terminal] +---- +$ curl -L $ISO_URL -o fcos-live.iso +---- +endif::openshift-origin[] . Prepare the `install-config.yaml` file: + @@ -115,11 +167,17 @@ sshKey: | <3> Set the `controlPlane` replicas to `1`. In conjunction with the previous `compute` setting, this setting ensures the cluster runs on a single node. <4> Set the `metadata` name to the cluster name. <5> Set the `networking` details. OVN-Kubernetes is the only allowed network plugin type for single-node clusters. +ifndef::openshift-origin[] <6> Set the `cidr` value to match the subnet of the {sno} cluster. +endif::openshift-origin[] +ifdef::openshift-origin[] +<6> Set the `cidr` value to match the subnet of the {sno-okd} cluster. +endif::openshift-origin[] <7> Set the path to the installation disk drive, for example, `/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2`. <8> Copy the {cluster-manager-url-pull} and add the contents to this configuration setting. <9> Add the public SSH key from the administration host so that you can log in to the cluster after installation. +ifndef::openshift-origin[] . Generate {product-title} assets by running the following commands: + [source,terminal] @@ -150,3 +208,36 @@ $ alias coreos-installer='podman run --privileged --pull always --rm \ ---- $ coreos-installer iso ignition embed -fi ocp/bootstrap-in-place-for-live-iso.ign rhcos-live.iso ---- +endif::openshift-origin[] +ifdef::openshift-origin[] +. Generate {product-title} assets by running the following commands: ++ +[source,terminal] +---- +$ mkdir sno +---- ++ +[source,terminal] +---- +$ cp install-config.yaml sno +---- ++ +[source,terminal] +---- +$ ./openshift-install --dir=sno create single-node-ignition-config +---- + +. Embed the ignition data into the {op-system} ISO by running the following commands: ++ +[source,terminal] +---- +$ alias coreos-installer='podman run --privileged --pull always --rm \ + -v /dev:/dev -v /run/udev:/run/udev -v $PWD:/data \ + -w /data quay.io/coreos/coreos-installer:release' +---- ++ +[source,terminal] +---- +$ coreos-installer iso ignition embed -fi sno/bootstrap-in-place-for-live-iso.ign fcos-live.iso +---- +endif::openshift-origin[] \ No newline at end of file diff --git a/modules/install-sno-installing-sno-on-azure.adoc b/modules/install-sno-installing-sno-on-azure.adoc index d381cfde42..6fe2af9177 100644 --- a/modules/install-sno-installing-sno-on-azure.adoc +++ b/modules/install-sno-installing-sno-on-azure.adoc @@ -4,6 +4,11 @@ :_mod-docs-content-type: CONCEPT [id="installing-sno-on-azure_{context}"] +ifndef::openshift-origin[] = Installing {sno} on Azure +endif::openshift-origin[] +ifdef::openshift-origin[] += Installing {sno-okd} on Azure +endif::openshift-origin[] Installing a single node cluster on Azure requires installer-provisioned installation using the "Installing a cluster on Azure with customizations" procedure. \ No newline at end of file diff --git a/modules/install-sno-installing-sno-on-gcp.adoc b/modules/install-sno-installing-sno-on-gcp.adoc index 41d998734a..2ca8ff93e7 100644 --- a/modules/install-sno-installing-sno-on-gcp.adoc +++ b/modules/install-sno-installing-sno-on-gcp.adoc @@ -4,6 +4,11 @@ :_mod-docs-content-type: CONCEPT [id="installing-sno-on-gcp_{context}"] +ifndef::openshift-origin[] = Installing {sno} on GCP +endif::openshift-origin[] +ifdef::openshift-origin[] += Installing {sno-okd} on GCP +endif::openshift-origin[] Installing a single node cluster on GCP requires installer-provisioned installation using the "Installing a cluster on GCP with customizations" procedure. diff --git a/modules/install-sno-installing-with-usb-media.adoc b/modules/install-sno-installing-with-usb-media.adoc index f1ee1b05b3..8ba35ace1a 100644 --- a/modules/install-sno-installing-with-usb-media.adoc +++ b/modules/install-sno-installing-with-usb-media.adoc @@ -20,10 +20,19 @@ You can install software using a bootable USB drive that contains an ISO image. ---- + where: +ifndef::openshift-origin[] + -- :: is the relative path to the downloaded ISO file, for example, `rhcos-live.iso`. :: is the location of the connected USB drive, for example, `/dev/sdb`. -- +endif::openshift-origin[] +ifdef::openshift-origin[] ++ +-- +:: is the relative path to the downloaded ISO file, for example, `fcos-live.iso`. +:: is the location of the connected USB drive, for example, `/dev/sdb`. +-- +endif::openshift-origin[] + After the ISO is copied to the USB drive, you can use the USB drive to install software on the server. diff --git a/modules/install-sno-monitoring-the-installation-manually.adoc b/modules/install-sno-monitoring-the-installation-manually.adoc index aed40fb907..8bd84f0df3 100644 --- a/modules/install-sno-monitoring-the-installation-manually.adoc +++ b/modules/install-sno-monitoring-the-installation-manually.adoc @@ -15,22 +15,40 @@ Use `openshift-install` to monitor the progress of the single-node cluster insta . Configure the boot drive order in the server BIOS settings to boot from the attached discovery ISO and then reboot the server. . On the administration host, monitor the installation by running the following command: +ifndef::openshift-origin[] + [source,terminal] ---- $ ./openshift-install --dir=ocp wait-for install-complete ---- +endif::openshift-origin[] +ifdef::openshift-origin[] ++ +[source,terminal] +---- +$ ./openshift-install --dir=sno wait-for install-complete +---- +endif::openshift-origin[] + The server restarts several times while deploying the control plane. .Verification * After the installation is complete, check the environment by running the following command: +ifndef::openshift-origin[] + [source,terminal] ---- $ export KUBECONFIG=ocp/auth/kubeconfig ---- +endif::openshift-origin[] +ifdef::openshift-origin[] ++ +[source,terminal] +---- +$ export KUBECONFIG=sno/auth/kubeconfig +---- +endif::openshift-origin[] + [source,terminal] ---- @@ -38,8 +56,17 @@ $ oc get nodes ---- + .Example output +ifndef::openshift-origin[] [source,terminal] ---- NAME STATUS ROLES AGE VERSION control-plane.example.com Ready master,worker 10m v1.28.5 ---- +endif::openshift-origin[] +ifdef::openshift-origin[] +[source,terminal] +---- +NAME STATUS ROLES AGE VERSION +control-plane.example.com Ready master,worker 10m v1.27.9+e36e183 +---- +endif::openshift-origin[] diff --git a/modules/install-sno-supported-cloud-providers-for-single-node-openshift.adoc b/modules/install-sno-supported-cloud-providers-for-single-node-openshift.adoc index d345b04ea7..fb5a50aa10 100644 --- a/modules/install-sno-supported-cloud-providers-for-single-node-openshift.adoc +++ b/modules/install-sno-supported-cloud-providers-for-single-node-openshift.adoc @@ -4,7 +4,12 @@ :_mod-docs-content-type: REFERENCE [id="supported-cloud-providers-for-single-node-openshift_{context}"] +ifndef::openshift-origin[] = Supported cloud providers for {sno} +endif::openshift-origin[] +ifdef::openshift-origin[] += Supported cloud providers for {sno-okd} +endif::openshift-origin[] The following table contains a list of supported cloud providers and CPU architectures.