1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00

GH#51152: document Single Node OKD

This commit is contained in:
Peter Roth
2024-02-07 20:08:00 +01:00
committed by openshift-cherrypick-robot
parent cd047324a6
commit 846094548e
11 changed files with 201 additions and 4 deletions

View File

@@ -180,6 +180,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

View File

@@ -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

View File

@@ -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[]

View File

@@ -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[]

View File

@@ -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`.

View File

@@ -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=<ocp_version> <1>
----
+
<1> Replace `<ocp_version>` with the current version, for example, `latest-{product-version}`
endif::openshift-origin[]
ifdef::openshift-origin[]
. Set the {product-title} version:
+
[source,terminal]
----
$ OKD_VERSION=<okd_version> <1>
----
+
<1> Replace `<okd_version>` 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=<architecture> <1>
----
<1> Replace `<architecture>` 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[]

View File

@@ -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.

View File

@@ -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.

View File

@@ -20,10 +20,19 @@ You can install software using a bootable USB drive that contains an ISO image.
----
+
where:
ifndef::openshift-origin[]
+
--
<path_to_iso>:: is the relative path to the downloaded ISO file, for example, `rhcos-live.iso`.
<path_to_usb>:: is the location of the connected USB drive, for example, `/dev/sdb`.
--
endif::openshift-origin[]
ifdef::openshift-origin[]
+
--
<path_to_iso>:: is the relative path to the downloaded ISO file, for example, `fcos-live.iso`.
<path_to_usb>:: 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.

View File

@@ -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[]

View File

@@ -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.