Chapter 16. Image-based installation for single-node OpenShift
16.1. Understanding image-based installation and deployment for single-node OpenShift Copy linkLink copied to clipboard!
Image-based installations significantly reduce the deployment time of single-node OpenShift clusters by streamlining the installation process.
This approach enables the preinstallation of configured and validated instances of single-node OpenShift on target hosts. These preinstalled hosts can be rapidly reconfigured and deployed at the far edge of the network, including in disconnected environments, with minimal intervention.
To deploy a managed cluster using an imaged-based approach in combination with GitOps Zero Touch Provisioning (ZTP), you can use the SiteConfig operator. For more information, see SiteConfig operator.
16.1.1. Overview of image-based installation and deployment for single-node OpenShift clusters Copy linkLink copied to clipboard!
Deploying infrastructure at the far edge of the network presents challenges for service providers with low bandwidth, high latency, and disconnected environments. It is also costly and time-consuming to install and deploy single-node OpenShift clusters.
An image-based approach to installing and deploying single-node OpenShift clusters at the far edge of the network overcomes these challenges by separating the installation and deployment stages.
Figure 16.1. Overview of an image-based installation and deployment for managed single-node OpenShift clusters
- Imaged-based installation
- Preinstall multiple hosts with single-node OpenShift at a central site, such as a service depot or a factory. Then, validate the base configuration for these hosts and leverage the image-based approach to perform reproducible factory installs at scale by using a single live installation ISO.
- Image-based deployment
- Ship the preinstalled and validated hosts to a remote site and rapidly reconfigure and deploy the clusters in a matter of minutes by using a configuration ISO.
You can choose from two methods to preinstall and configure your SNO clusters.
- Using the
openshift-installprogram -
For a single-node OpenShift cluster, use the
openshift-installprogram only to manually create the live installation ISO that is common to all hosts. Then, use the program again to create the configuration ISO which ensures that the host is unique. For more information, see “Deploying managed single-node OpenShift using the openshift-install program”. - Using the IBI Operator
-
For managed single-node OpenShift clusters, you can use the
openshift-installwith the Image Based Install (IBI) Operator to scale up the operations. The program creates the live installation ISO and then the IBI Operator creates one configuration ISO for each host. For more information, see “Deploying single-node OpenShift using the IBI Operator”.
16.1.1.1. Image-based installation for single-node OpenShift clusters Copy linkLink copied to clipboard!
Using the Lifecycle Agent, you can generate an OCI container image that encapsulates an instance of a single-node OpenShift cluster. This image is derived from a dedicated cluster that you can configure with the target OpenShift Container Platform version.
You can reference this image in a live installation ISO to consistently preinstall configured and validated instances of single-node OpenShift to multiple hosts. This approach enables the preparation of hosts at a central location, for example in a factory or service depot, before shipping the preinstalled hosts to a remote site for rapid reconfiguration and deployment. The instructions for preinstalling a host are the same whether you deploy the host by using only the openshift-install program or using the program with the IBI Operator.
The following is a high-level overview of the image-based installation process:
- Generate an image from a single-node OpenShift cluster.
-
Use the
openshift-installprogram to embed the seed image URL, and other installation artifacts, in a live installation ISO. Start the host using the live installation ISO to preinstall the host.
During this process, the
openshift-installprogram installs Red Hat Enterprise Linux CoreOS (RHCOS) to the disk, pulls the image you generated, and precaches release container images to the disk.- When the installation completes, the host is ready to ship to the remote site for rapid reconfiguration and deployment.
16.1.1.2. Image-based deployment for single-node OpenShift clusters Copy linkLink copied to clipboard!
You can use the openshift-install program or the IBI Operator to configure and deploy a host that you preinstalled with an image-based installation.
- Single-node OpenShift cluster deployment
To configure the target host with site-specific details by using the
openshift-installprogram, you must create the following resources:-
The
install-config.yamlinstallation manifest -
The
image-based-config.yamlmanifest
The
openshift-installprogram uses these resources to generate a configuration ISO that you attach to the preinstalled target host to complete the deployment.-
The
- Managed single-node OpenShift cluster deployment
Red Hat Advanced Cluster Management (RHACM) and the multicluster engine for Kubernetes Operator (MCE) use a hub-and-spoke architecture to manage and deploy single-node OpenShift clusters across multiple sites. Using this approach, the hub cluster serves as a central control plane that manages the spoke clusters, which are often remote single-node OpenShift clusters deployed at the far edge of the network.
You can define the site-specific configuration resources for an image-based deployment in the hub cluster. The IBI Operator uses these configuration resources to reconfigure the preinstalled host at the remote site and deploy the host as a managed single-node OpenShift cluster. This approach is especially beneficial for telecommunications providers and other service providers with extensive, distributed infrastructures, where an end-to-end installation at the remote site would be time-consuming and costly.
The following is a high-level overview of the image-based deployment process for hosts preinstalled with an imaged-based installation:
- Define the site-specific configuration resources for the preinstalled host in the hub cluster.
- Apply these resources in the hub cluster. This initiates the deployment process.
- The IBI Operator creates a configuration ISO.
- The IBI Operator boots the target preinstalled host with the configuration ISO attached.
- The host mounts the configuration ISO and begins the reconfiguration process.
- When the reconfiguration completes, the single-node OpenShift cluster is ready.
As the host is already preinstalled using an image-based installation, a technician can reconfigure and deploy the host in a matter of minutes.
16.1.2. Image-based installation and deployment components Copy linkLink copied to clipboard!
The following content describes the components in an image-based installation and deployment.
- Seed image
- OCI container image generated from a dedicated cluster with the target OpenShift Container Platform version.
- Seed cluster
- Dedicated single-node OpenShift cluster that you use to create a seed image and is deployed with the target OpenShift Container Platform version.
- Lifecycle Agent
- Generates the seed image.
- Image Based Install (IBI) Operator
- When you deploy managed clusters, the IBI Operator creates a configuration ISO from the site-specific resources you define in the hub cluster, and attaches the configuration ISO to the preinstalled host by using a bare-metal provisioning service.
openshift-installprogram- Creates the installation and configuration ISO, and embeds the seed image URL in the live installation ISO. If the IBI Operator is not used, you must manually attach the configuration ISO to a preinstalled host to complete the deployment.
16.1.3. Cluster guidelines for image-based installation and deployment Copy linkLink copied to clipboard!
For a successful image-based installation and deployment, see the following guidelines.
16.1.3.1. Cluster guidelines Copy linkLink copied to clipboard!
- If you are using Red Hat Advanced Cluster Management (RHACM), to avoid including any RHACM resources in your seed image, you need to disable all optional RHACM add-ons before generating the seed image.
16.1.3.2. Seed cluster guidelines Copy linkLink copied to clipboard!
- If your cluster deployment at the edge of the network requires a proxy configuration, you must create a seed image from a seed cluster featuring a proxy configuration. The proxy configurations do not have to match.
-
The
clusterNetworkandserviceNetworknetwork configurations in the seed cluster persist to the deployed cluster. The Lifecycle Agent embeds these settings in the seed image. You cannot change these settings later in the image-based installation and deployment process. - If you set a maximum transmission unit (MTU) in the seed cluster, you must set the same MTU value in the static network configuration for the image-based configuration ISO.
-
Your single-node OpenShift seed cluster must have a shared
/var/lib/containersdirectory for precaching images during an image-based installation. For more information see "Configuring a shared container partition between ostree stateroots". Create a seed image from a single-node OpenShift cluster that uses the same hardware as your target bare-metal host. The seed cluster must reflect your target cluster configuration for the following items:
CPU topology
- CPU architecture
- Number of CPU cores
- Tuned performance configuration, such as number of reserved CPUs
IP version
NoteDual-stack networking is not supported in this release.
Disconnected registry
NoteIf the target cluster uses a disconnected registry, your seed cluster must use a disconnected registry. The registries do not have to be the same.
- FIPS configuration
16.1.4. Software prerequisites for an image-based installation and deployment Copy linkLink copied to clipboard!
An image-based installation and deployment requires the following minimum software versions for these required components.
| Component | Software version |
|---|---|
| Managed cluster version | 4.17 |
| Hub cluster version | 4.16 |
| Red Hat Advanced Cluster Management (RHACM) | 2.12 |
| Lifecycle Agent | 4.16 or later |
| Image Based Install Operator | 4.17 |
|
| 4.17 |
16.2. Preparing for image-based installation for single-node OpenShift clusters Copy linkLink copied to clipboard!
To prepare for an image-based installation for single-node OpenShift clusters, you must complete the following tasks:
- Create a seed image by using the Lifecycle Agent.
- Verify that all software components meet the required versions. For further information, see "Software prerequisites for an image-based installation and deployment".
16.2.1. Installing the Lifecycle Agent Copy linkLink copied to clipboard!
Use the Lifecycle Agent to generate a seed image from a seed cluster. You can install the Lifecycle Agent using the OpenShift CLI (oc) or the web console.
16.2.1.1. Installing the Lifecycle Agent by using the CLI Copy linkLink copied to clipboard!
You can use the OpenShift CLI (oc) to install the Lifecycle Agent.
Prerequisites
-
You have installed the OpenShift CLI (
oc). -
You have logged in as a user with
cluster-adminprivileges.
Procedure
Create a
Namespaceobject YAML file for the Lifecycle Agent:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
NamespaceCR by running the following command:oc create -f <namespace_filename>.yaml
$ oc create -f <namespace_filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Create an
OperatorGroupobject YAML file for the Lifecycle Agent:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
OperatorGroupCR by running the following command:oc create -f <operatorgroup_filename>.yaml
$ oc create -f <operatorgroup_filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Create a
SubscriptionCR for the Lifecycle Agent:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
SubscriptionCR by running the following command:oc create -f <subscription_filename>.yaml
$ oc create -f <subscription_filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Verification
To verify that the installation succeeded, inspect the CSV resource by running the following command:
oc get csv -n openshift-lifecycle-agent
$ oc get csv -n openshift-lifecycle-agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
NAME DISPLAY VERSION REPLACES PHASE lifecycle-agent.v4.17.0 Openshift Lifecycle Agent 4.17.0 Succeeded
NAME DISPLAY VERSION REPLACES PHASE lifecycle-agent.v4.17.0 Openshift Lifecycle Agent 4.17.0 SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow Verify that the Lifecycle Agent is up and running by running the following command:
oc get deploy -n openshift-lifecycle-agent
$ oc get deploy -n openshift-lifecycle-agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
NAME READY UP-TO-DATE AVAILABLE AGE lifecycle-agent-controller-manager 1/1 1 1 14s
NAME READY UP-TO-DATE AVAILABLE AGE lifecycle-agent-controller-manager 1/1 1 1 14sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
16.2.1.2. Installing the Lifecycle Agent by using the web console Copy linkLink copied to clipboard!
You can use the OpenShift Container Platform web console to install the Lifecycle Agent.
Prerequisites
-
You have logged in as a user with
cluster-adminprivileges.
Procedure
-
In the OpenShift Container Platform web console, navigate to Operators
OperatorHub. - Search for the Lifecycle Agent from the list of available Operators, and then click Install.
- On the Install Operator page, under A specific namespace on the cluster select openshift-lifecycle-agent.
- Click Install.
Verification
To confirm that the installation is successful:
-
Click Operators
Installed Operators. Ensure that the Lifecycle Agent is listed in the openshift-lifecycle-agent project with a Status of InstallSucceeded.
NoteDuring installation an Operator might display a Failed status. If the installation later succeeds with an InstallSucceeded message, you can ignore the Failed message.
-
Click Operators
If the Operator is not installed successfully:
-
Click Operators
Installed Operators, and inspect the Operator Subscriptions and Install Plans tabs for any failure or errors under Status. -
Click Workloads
Pods, and check the logs for pods in the openshift-lifecycle-agent project.
16.2.3. Seed image configuration Copy linkLink copied to clipboard!
You can create a seed image from a single-node OpenShift cluster with the same hardware as your bare-metal host, and with a similar target cluster configuration. However, the seed image generated from the seed cluster cannot contain any cluster-specific configuration.
The following table lists the components, resources, and configurations that you must and must not include in your seed image:
| Cluster configuration | Include in seed image |
|---|---|
| Performance profile | Yes |
|
| Yes |
| IP version [1] | Yes |
| Set of Day 2 Operators, including the Lifecycle Agent and the OADP Operator | Yes |
| Disconnected registry configuration [2] | Yes |
| Valid proxy configuration [3] | Yes |
| FIPS configuration | Yes |
| Dedicated partition on the primary disk for container storage that matches the size of the target clusters | Yes |
| Local volumes
| No |
- Dual-stack networking is not supported in this release.
- If the seed cluster is installed in a disconnected environment, the target clusters must also be installed in a disconnected environment.
- The proxy configuration must be either enabled or disabled in both the seed and target clusters. However, the proxy servers configured on the clusters does not have to match.
16.2.3.1. Seed image configuration using the RAN DU profile Copy linkLink copied to clipboard!
The following table lists the components, resources, and configurations that you must and must not include in the seed image when using the RAN DU profile:
| Resource | Include in seed image |
|---|---|
| All extra manifests that are applied as part of Day 0 installation | Yes |
| All Day 2 Operator subscriptions | Yes |
|
| Yes |
|
| Yes |
|
| Yes |
|
| Yes |
|
| Yes |
|
|
No, if it is used in |
|
| No |
|
| No |
The following list of resources and configurations can be applied as extra manifests or by using RHACM policies:
-
ClusterLogForwarder.yaml -
ReduceMonitoringFootprint.yaml -
SriovFecClusterConfig.yaml -
PtpOperatorConfigForEvent.yaml -
DefaultCatsrc.yaml -
PtpConfig.yaml -
SriovNetwork.yaml
If you are using GitOps ZTP, enable these resources by using RHACM policies to ensure configuration changes can be applied throughout the cluster lifecycle.
16.2.4. Generating a seed image with the Lifecycle Agent Copy linkLink copied to clipboard!
Use the Lifecycle Agent to generate a seed image from a managed cluster. The Operator checks for required system configurations, performs any necessary system cleanup before generating the seed image, and launches the image generation. The seed image generation includes the following tasks:
- Stopping cluster Operators
- Preparing the seed image configuration
-
Generating and pushing the seed image to the image repository specified in the
SeedGeneratorCR - Restoring cluster Operators
- Expiring seed cluster certificates
- Generating new certificates for the seed cluster
-
Restoring and updating the
SeedGeneratorCR on the seed cluster
Prerequisites
- RHACM and multicluster engine for Kubernetes Operator are not installed on the seed cluster.
- You have configured a shared container directory on the seed cluster.
- You have installed the minimum version of the OADP Operator and the Lifecycle Agent on the seed cluster.
- Ensure that persistent volumes are not configured on the seed cluster.
-
Ensure that the
LocalVolumeCR does not exist on the seed cluster if the Local Storage Operator is used. -
Ensure that the
LVMClusterCR does not exist on the seed cluster if LVM Storage is used. -
Ensure that the
DataProtectionApplicationCR does not exist on the seed cluster if OADP is used.
Procedure
Detach the managed cluster from the hub to delete any RHACM-specific resources from the seed cluster that must not be in the seed image:
Manually detach the seed cluster by running the following command:
oc delete managedcluster sno-worker-example
$ oc delete managedcluster sno-worker-exampleCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Wait until the managed cluster is removed. After the cluster is removed, create the proper
SeedGeneratorCR. The Lifecycle Agent cleans up the RHACM artifacts.
-
Wait until the managed cluster is removed. After the cluster is removed, create the proper
If you are using GitOps ZTP, detach your cluster by removing the seed cluster’s
SiteConfigCR from thekustomization.yaml.If you have a
kustomization.yamlfile that references multipleSiteConfigCRs, remove your seed cluster’sSiteConfigCR from thekustomization.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow If you have a
kustomization.yamlthat references oneSiteConfigCR, remove your seed cluster’sSiteConfigCR from thekustomization.yamland add thegenerators: {}line:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization generators: {}apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization generators: {}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Commit the
kustomization.yamlchanges in your Git repository and push the changes to your repository.The ArgoCD pipeline detects the changes and removes the managed cluster.
Create the
Secretobject so that you can push the seed image to your registry.Create the authentication file by running the following commands:
MY_USER=myuserid AUTHFILE=/tmp/my-auth.json podman login --authfile ${AUTHFILE} -u ${MY_USER} quay.io/${MY_USER}$ MY_USER=myuserid $ AUTHFILE=/tmp/my-auth.json $ podman login --authfile ${AUTHFILE} -u ${MY_USER} quay.io/${MY_USER}Copy to Clipboard Copied! Toggle word wrap Toggle overflow base64 -w 0 ${AUTHFILE} ; echo$ base64 -w 0 ${AUTHFILE} ; echoCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy the output into the
seedAuthfield in theSecretYAML file namedseedgenin theopenshift-lifecycle-agentnamespace:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Apply the
Secretby running the following command:oc apply -f secretseedgenerator.yaml
$ oc apply -f secretseedgenerator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Create the
SeedGeneratorCR:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Generate the seed image by running the following command:
oc apply -f seedgenerator.yaml
$ oc apply -f seedgenerator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ImportantThe cluster reboots and loses API capabilities while the Lifecycle Agent generates the seed image. Applying the
SeedGeneratorCR stops thekubeletand the CRI-O operations, then it starts the image generation.
If you want to generate more seed images, you must provision a new seed cluster with the version that you want to generate a seed image from.
Verification
After the cluster recovers and it is available, you can check the status of the
SeedGeneratorCR by running the following command:oc get seedgenerator -o yaml
$ oc get seedgenerator -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- The seed image generation is complete.
16.3. Preinstalling single-node OpenShift using an image-based installation Copy linkLink copied to clipboard!
Use the openshift-install program to create a live installation ISO for preinstalling single-node OpenShift on bare-metal hosts. For more information about downloading the installation program, see "Installation process" in the "Additional resources" section.
The installation program takes a seed image URL and other inputs, such as the release version of the seed image and the disk to use for the installation process, and creates a live installation ISO. You can then start the host using the live installation ISO to begin preinstallation. When preinstallation is complete, the host is ready to ship to a remote site for the final site-specific configuration and deployment.
The following are the high-level steps to preinstall a single-node OpenShift cluster using an image-based installation:
- Generate a seed image.
-
Create a live installation ISO using the
openshift-installinstallation program. - Boot the host using the live installation ISO to preinstall the host.
16.3.1. Creating a live installation ISO for a single-node OpenShift image-based installation Copy linkLink copied to clipboard!
You can embed your single-node OpenShift seed image URL, and other installation artifacts, in a live installation ISO by using the openshift-install program.
For more information about the specification for the image-based-installation-config.yaml manifest, see the section "Reference specifications for the image-based-installation-config.yaml manifest".
Prerequisites
- You generated a seed image from a single-node OpenShift seed cluster.
-
You downloaded the
openshift-installprogram. The version of theopenshift-installprogram must match the OpenShift Container Platform version in your seed image. - The target host has network access to the seed image URL and all other installation artifacts.
-
If you require static networking, you must install the
nmstatectllibrary on the host that creates the live installation ISO.
Procedure
Create a live installation ISO and embed your single-node OpenShift seed image URL and other installation artifacts:
Create a working directory by running the following:
mkdir ibi-iso-workdir
$ mkdir ibi-iso-workdir1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Replace
ibi-iso-workdirwith the name of your working directory.
Optional. Create an installation configuration template to use as a reference when configuring the
ImageBasedInstallationConfigresource:openshift-install image-based create image-config-template --dir ibi-iso-workdir
$ openshift-install image-based create image-config-template --dir ibi-iso-workdir1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- If you do not specify a working directory, the command uses the current directory.
Example output
INFO Image-Config-Template created in: ibi-iso-workdir
INFO Image-Config-Template created in: ibi-iso-workdirCopy to Clipboard Copied! Toggle word wrap Toggle overflow The command creates the
image-based-installation-config.yamlinstallation configuration template in your target directory:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Edit your installation configuration file:
Example
image-based-installation-config.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow Create the live installation ISO by running the following command:
openshift-install image-based create image --dir ibi-iso-workdir
$ openshift-install image-based create image --dir ibi-iso-workdirCopy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
INFO Consuming Image-based Installation ISO Config from target directory INFO Creating Image-based Installation ISO with embedded ignition
INFO Consuming Image-based Installation ISO Config from target directory INFO Creating Image-based Installation ISO with embedded ignitionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Verification
View the output in the working directory:
ibi-iso-workdir/ └── rhcos-ibi.iso
ibi-iso-workdir/ └── rhcos-ibi.isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow
16.3.1.1. Configuring additional partitions on the target host Copy linkLink copied to clipboard!
The installation ISO creates a partition for the /var/lib/containers directory as part of the image-based installation process.
You can create additional partitions by using the coreosInstallerArgs specification. For example, in hard disks with adequate storage, you might need an additional partition for storage options, such as Logical Volume Manager (LVM) Storage.
The /var/lib/containers partition requires at least 500 GB to ensure adequate disk space for precached images. You must create additional partitions with a starting position larger than the partition for /var/lib/containers.
Procedure
Edit the
image-based-installation-config.yamlfile to configure additional partitions:Example
image-based-installation-config.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Specify
trueto skip disk formatting during the installation process. - 2
- Specify this argument to preserve a partition.
- 3
- The live installation ISO requires five partitions. Specify a number greater than five to identify the additional partition to preserve.
- 4
- Specify the installation disk on the target host.
- 5
- Specify the label for the partition.
- 6
- Specify the number for the partition.
- 7
- Specify the size of parition in MiB.
- 8
- Specify the starting position on the disk in MiB for the additional partition. You must specify a starting point larger that the partition for
var/lib/containers.
Verification
When you complete the preinstallation of the host with the live installation ISO, login to the target host and run the following command to view the partitions:
lsblk
$ lsblkCopy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.3.2. Provisioning the live installation ISO to a host Copy linkLink copied to clipboard!
Using your preferred method, boot the target bare-metal host from the rhcos-ibi.iso live installation ISO to preinstall single-node OpenShift.
Verification
- Login to the target host.
View the system logs by running the following command:
journalctl -b
$ journalctl -bCopy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.3.3. Reference specifications for the image-based-installation-config.yaml manifest Copy linkLink copied to clipboard!
The following content describes the specifications for the image-based-installation-config.yaml manifest.
The openshift-install program uses the image-based-installation-config.yaml manifest to create a live installation ISO for image-based installations of single-node OpenShift.
| Specification | Type | Description |
|---|---|---|
|
|
| Specifies the seed image to use in the ISO generation process. |
|
|
|
Specifies the OpenShift Container Platform release version of the seed image. The release version in the seed image must match the release version that you specify in the |
|
|
| Specifies the disk that will be used for the installation process.
Because the disk discovery order is not guaranteed, the kernel name of the disk can change across booting options for machines with multiple disks. For example, |
|
|
| Specifies the pull secret to use during the precache process. The pull secret contains authentication credentials for pulling the release payload images from the container registry. If the seed image requires a separate private registry authentication, add the authentication details to the pull secret. |
| Specification | Type | Description |
|---|---|---|
|
|
|
Specifies if the host shuts down after the installation process completes. The default value is |
|
|
|
Specifies the start of the extra partition used for |
|
|
|
The label of the extra partition you use for Note You must ensure that the partition label in the installation ISO matches the partition label set in the machine configuration for the seed image. If the partition labels are different, the partition mount fails during installation on the host. For more information, see "Configuring a shared container partition between ostree stateroots". |
|
|
|
The number of the extra partition you use for |
|
|
|
The installation process formats the disk on the host. Set this specification to 'true' to skip this step. The default is |
|
|
| Specifies networking configurations for the host, for example:
If you require static networking, you must install the Important The name of the interface must match the actual NIC name as shown in the operating system. |
|
|
| Specifies proxy settings to use during the installation ISO generation, for example: proxy: httpProxy: "http://proxy.example.com:8080" httpsProxy: "http://proxy.example.com:8080" noProxy: "no_proxy.example.com"
|
|
|
| Specifies the sources or repositories for the release-image content, for example: imageDigestSources:
- mirrors:
- "registry.example.com:5000/ocp4/openshift4"
source: "quay.io/openshift-release-dev/ocp-release"
|
|
|
|
Specifies the PEM-encoded X.509 certificate bundle. The installation program adds this to the |
|
|
| Specifies the SSH key to authenticate access to the host. |
|
|
| Specifies a JSON string containing the user overrides for the Ignition config. The configuration merges with the Ignition config file generated by the installation program. This feature requires Ignition version is 3.2 or later. |
|
|
|
Specifies custom arguments for the |
16.4. Deploying single-node OpenShift clusters Copy linkLink copied to clipboard!
16.4.1. About image-based deployments for managed single-node OpenShift Copy linkLink copied to clipboard!
When a host preinstalled with single-node OpenShift using an image-based installation arrives at a remote site, a technician can easily reconfigure and deploy the host in a matter of minutes.
For clusters with a hub-and-spoke architecture, to complete the deployment of a preinstalled host, you must first define site-specific configuration resources on the hub cluster for each host. These resources contain configuration information such as the properties of the bare-metal host, authentication details, and other deployment and networking information.
The Image Based Install (IBI) Operator creates a configuration ISO from these resources, and then boots the host with the configuration ISO attached. The host mounts the configuration ISO and runs the reconfiguration process. When the reconfiguration completes, the single-node OpenShift cluster is ready.
You must create distinct configuration resources for each bare-metal host.
See the following high-level steps to deploy a preinstalled host in a cluster with a hub-and-spoke architecture:
- Install the IBI Operator on the hub cluster.
- Create site-specific configuration resources in the hub cluster for each host.
- The IBI Operator creates a configuration ISO from these resources and boots the target host with the configuration ISO attached.
- The host mounts the configuration ISO and runs the reconfiguration process. When the reconfiguration completes, the single-node OpenShift cluster is ready.
Alternatively, you can manually deploy a preinstalled host for a cluster without using a hub cluster. You must define an ImageBasedConfig resource and an installation manifest, and provide these as inputs to the openshift-install installation program. For more information, see "Deploying a single-node OpenShift cluster using the openshift-install program".
16.4.1.1. Installing the Image Based Install Operator Copy linkLink copied to clipboard!
The Image Based Install (IBI) Operator is part of the image-based deployment workflow for preinstalled single-node OpenShift on bare-metal hosts.
The IBI Operator is part of the multicluster engine for Kubernetes Operator from MCE version 2.7.
Prerequisites
-
You logged in as a user with
cluster-adminprivileges. - You deployed a Red Hat Advanced Cluster Management (RHACM) hub cluster or you deployed the multicluster engine for Kubernetes Operator.
- You reviewed the required versions of software components in the section "Software prerequisites for an image-based installation".
Procedure
Set the
enabledspecification totruefor theimage-based-install-operatorcomponent in theMultiClusterEngineresource by running the following command:oc patch multiclusterengines.multicluster.openshift.io multiclusterengine --type json \ --patch '[{"op": "add", "path":"/spec/overrides/components/-", "value": {"name":"image-based-install-operator","enabled": true}}]'$ oc patch multiclusterengines.multicluster.openshift.io multiclusterengine --type json \ --patch '[{"op": "add", "path":"/spec/overrides/components/-", "value": {"name":"image-based-install-operator","enabled": true}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Verification
Check that the Image Based Install Operator pod is running by running the following command:
oc get pods -A | grep image-based
$ oc get pods -A | grep image-basedCopy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
multicluster-engine image-based-install-operator-57fb8sc423-bxdj8 2/2 Running 0 5m
multicluster-engine image-based-install-operator-57fb8sc423-bxdj8 2/2 Running 0 5mCopy to Clipboard Copied! Toggle word wrap Toggle overflow
16.4.1.2. Deploying a managed single-node OpenShift cluster using the IBI Operator Copy linkLink copied to clipboard!
Create the site-specific configuration resources in the hub cluster to initiate the image-based deployment of a preinstalled host.
When you create these configuration resources in the hub cluster, the Image Based Install (IBI) Operator generates a configuration ISO and attaches it to the target host to begin the site-specific configuration process. When the configuration process completes, the single-node OpenShift cluster is ready.
For more information about the configuration resources that you must configure in the hub cluster, see "Cluster configuration resources for deploying a preinstalled host".
Prerequisites
- You preinstalled a host with single-node OpenShift using an image-based installation.
-
You logged in as a user with
cluster-adminprivileges. - You deployed a Red Hat Advanced Cluster Management (RHACM) hub cluster or you deployed the multicluster engine for Kubernetes operator (MCE).
- You installed the IBI Operator on the hub cluster.
- You created a pull secret to authenticate pull requests. For more information, see "Using image pull secrets".
Procedure
Create the
ibi-nsnamespace by running the following command:oc create namespace ibi-ns
$ oc create namespace ibi-nsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
Secretresource for your image registry:Create a YAML file that defines the
Secretresource for your image registry:Example
secret-image-registry.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- You must provide base64-encoded credential details. See the "Additional resources" section for more information about using image pull secrets.
Create the
Secretresource for your image registry by running the following command:oc create -f secret-image-registry.yaml
$ oc create -f secret-image-registry.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Optional: Configure static networking for the host:
Create a
Secretresource containing the static network configuration innmstateformat:Example
host-network-config-secret.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Specify the name for the
Secretresource. - 2
- Define the static network configuration in
nmstateformat. - 3
- Specify the name of the interface on the host. The name of the interface must match the actual NIC name as shown in the operating system. To use your MAC address for NIC matching, set the
identifierfield tomac-address. - 4
- You must specify
dhcp: falseto ensurenmstateassigns the static IP address to the interface. - 5
- Specify one or more DNS servers that the system will use to resolve domain names.
- 6
- In this example, the default route is configured through the
ens1f0interface to the next hop IP address192.168.200.254.
Create the
BareMetalHostandSecretresources:Create a YAML file that defines the
BareMetalHostandSecretresources:Example
ibi-bmh.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Specify the name for the
BareMetalHostresource. - 2
- Specify if the host should be online.
- 3
- Specify the host boot MAC address.
- 4
- Specify the BMC address. You can only use bare-metal host drivers that support virtual media networking booting, for example redfish-virtualmedia and idrac-virtualmedia.
- 5
- Specify the name of the bare-metal host
Secretresource. - 6
- Optional: If you require static network configuration for the host, specify the name of the
Secretresource containing the configuration. - 7
- You must specify
automatedCleaningMode:disabledto prevent the provisioning service from deleting all preinstallation artifacts, such as the seed image, during disk inspection. - 8
- You must specify
externallyProvisioned: trueto enable the host to boot from the preinstalled disk, instead of the configuration ISO. - 9
- Specify the name for the
Secretresource. - 10
- Specify the username.
- 11
- Specify the password.
Create the
BareMetalHostandSecretresources by running the following command:oc create -f ibi-bmh.yaml
$ oc create -f ibi-bmh.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Create the
ClusterImageSetresource:Create a YAML file that defines the
ClusterImageSetresource:Example
ibi-cluster-image-set.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Specify the name for the
ClusterImageSetresource. - 2
- Specify the address for the release image to use for the deployment. If you use a different image registry compared to the image registry used during seed image generation, ensure that the OpenShift Container Platform version for the release image remains the same.
Create the
ClusterImageSetresource by running the following command:oc apply -f ibi-cluster-image-set.yaml
$ oc apply -f ibi-cluster-image-set.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Create the
ImageClusterInstallresource:Create a YAML file that defines the
ImageClusterInstallresource:Example
ibi-image-cluster-install.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Specify the name for the
ImageClusterInstallresource. - 2
- Specify the
BareMetalHostresource that you want to target for the image-based installation. - 3
- Specify the name of the
ClusterDeploymentresource that you want to use for the image-based installation of the target host. - 4
- Specify the hostname for the cluster.
- 5
- Specify the name of the
ClusterImageSetresource you used to define the container release images to use for deployment. - 6
- Specify the public CIDR (Classless Inter-Domain Routing) of the external network.
- 7
- Optional: Specify a proxy to use for the cluster deployment.
ImportantIf your cluster deployment requires a proxy configuration, you must do the following:
- Create a seed image from a seed cluster featuring a proxy configuration. The proxy configurations do not have to match.
-
Configure the
machineNetworkfield in your installation manifest.
Create the
ImageClusterInstallresource by running the following command:oc create -f ibi-image-cluster-install.yaml
$ oc create -f ibi-image-cluster-install.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Create the
ClusterDeploymentresource:Create a YAML file that defines the
ClusterDeploymentresource:Example
ibi-cluster-deployment.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Specify the name for the
ClusterDeploymentresource. - 2
- Specify the namespace for the
ClusterDeploymentresource. - 3
- Specify the base domain that the cluster should belong to.
- 4
- Specify the name of the
ImageClusterInstallin which you defined the container images to use for the image-based installation of the target host. - 5
- Specify a name for the cluster.
- 6
- Specify the secret to use for pulling images from your image registry.
Create the
ClusterDeploymentresource by running the following command:oc apply -f ibi-cluster-deployment.yaml
$ oc apply -f ibi-cluster-deployment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Create the
ManagedClusterresource:Create a YAML file that defines the
ManagedClusterresource:Example
ibi-managed.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
ManagedClusterresource by running the following command:oc apply -f ibi-managed.yaml
$ oc apply -f ibi-managed.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Verification
Check the status of the
ImageClusterInstallin the hub cluster to monitor the progress of the target host installation by running the following command:oc get imageclusterinstall
$ oc get imageclusterinstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
NAME REQUIREMENTSMET COMPLETED BAREMETALHOSTREF target-0 HostValidationSucceeded ClusterInstallationSucceeded ibi-bmh
NAME REQUIREMENTSMET COMPLETED BAREMETALHOSTREF target-0 HostValidationSucceeded ClusterInstallationSucceeded ibi-bmhCopy to Clipboard Copied! Toggle word wrap Toggle overflow WarningIf the
ImageClusterInstallresource is deleted, the IBI Operator reattaches theBareMetalHostresource and reboots the machine.When the installation completes, you can retrieve the
kubeconfigsecret to log in to the managed cluster by running the following command:oc extract secret/<cluster_name>-admin-kubeconfig -n <cluster_namespace> --to - > <directory>/<cluster_name>-kubeconfig
$ oc extract secret/<cluster_name>-admin-kubeconfig -n <cluster_namespace> --to - > <directory>/<cluster_name>-kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<cluster_name>is the name of the cluster. -
<cluster_namespace>is the namespace of the cluster. -
<directory>is the directory in which to create the file.
-
16.4.1.2.1. Cluster configuration resources for deploying a preinstalled host Copy linkLink copied to clipboard!
To complete a deployment for a preinstalled host at a remote site, you must configure the following site-specifc cluster configuration resources in the hub cluster for each bare-metal host.
| Resource | Description |
|---|---|
|
| Namespace for the managed single-node OpenShift cluster. |
|
| Describes the physical host and its properties, such as the provisioning and hardware configuration. |
|
| Credentials for the host BMC. |
|
| Optional: Describes static network configuration for the target host. |
|
|
Credentials for the image registry. The secret for the image registry must be of type |
|
| References the bare-metal host, deployment, and image set resources. |
|
| Describes the release images to use for the cluster. |
|
| Describes networking, authentication, and platform-specific settings. |
|
| Describes cluster details to enable Red Hat Advanced Cluster Management (RHACM) to register and manage. |
|
| Optional: Describes additional configurations for the cluster deployment, such as adding a bundle of trusted certificates for the host to ensure trusted communications for cluster services. |
16.4.1.2.2. ImageClusterInstall resource API specifications Copy linkLink copied to clipboard!
The following content describes the API specifications for the ImageClusterInstall resource. This resource is the endpoint for the Image Based Install Operator.
| Specification | Type | Description |
|---|---|---|
|
|
|
Specify the name of the |
|
|
| Specify the hostname for the cluster. |
|
|
| Specify your SSH key to provide SSH access to the target host. |
| Specification | Type | Description |
|---|---|---|
|
|
|
Specify the name of the |
|
|
|
After the deployment completes, this specification is automatically populated with metadata information about the cluster, including the |
|
|
| Specifies the sources or repositories for the release-image content, for example: imageDigestSources:
- mirrors:
- "registry.example.com:5000/ocp4/openshift4"
source: "quay.io/openshift-release-dev/ocp-release"
|
|
|
|
Specify a |
|
|
|
Specify the |
|
|
| Specify the public CIDR (Classless Inter-Domain Routing) of the external network. |
|
|
| Specifies proxy settings for the cluster, for example: proxy: httpProxy: "http://proxy.example.com:8080" httpsProxy: "http://proxy.example.com:8080" noProxy: "no_proxy.example.com"
|
|
|
|
Specify a |
16.4.1.3. ConfigMap resources for extra manifests Copy linkLink copied to clipboard!
You can optionally create a ConfigMap resource to define additional manifests in an image-based deployment for managed single-node OpenShift clusters.
After you create the ConfigMap resource, reference it in the ImageClusterInstall resource. During deployment, the IBI Operator includes the extra manifests in the deployment.
16.4.1.3.1. Creating a ConfigMap resource to add extra manifests in an image-based deployment Copy linkLink copied to clipboard!
You can use a ConfigMap resource to add extra manifests to the image-based deployment for single-node OpenShift clusters.
The following example adds an single-root I/O virtualization (SR-IOV) network to the deployment.
Filenames for extra manifests must not exceed 30 characters. Longer filenames might cause deployment failures.
Prerequisites
- You preinstalled a host with single-node OpenShift using an image-based installation.
-
You logged in as a user with
cluster-adminprivileges.
Procedure
Create the
SriovNetworkNodePolicyandSriovNetworkresources:Create a YAML file that defines the resources:
Example
sriov-extra-manifest.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
ConfigMapresource by running the following command:oc create configmap sr-iov-extra-manifest --from-file=sriov-extra-manifest.yaml -n ibi-ns
$ oc create configmap sr-iov-extra-manifest --from-file=sriov-extra-manifest.yaml -n ibi-ns1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Specify the namespace that has the
ImageClusterInstallresource.
Example output
configmap/sr-iov-extra-manifest created
configmap/sr-iov-extra-manifest createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow NoteIf you add more than one extra manifest, and the manifests must be applied in a specific order, you must prefix the filenames of the manifests with numbers that represent the required order. For example,
00-namespace.yaml,01-sriov-extra-manifest.yaml, and so on.
Reference the
ConfigMapresource in thespec.extraManifestsRefsfield of theImageClusterInstallresource:#... spec: extraManifestsRefs: - name: sr-iov-extra-manifest #...#... spec: extraManifestsRefs: - name: sr-iov-extra-manifest #...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.4.1.3.2. Creating a ConfigMap resource to add a CA bundle in an image-based deployment Copy linkLink copied to clipboard!
You can use a ConfigMap resource to add a certificate authority (CA) bundle to the host to ensure trusted communications for cluster services.
After you create the ConfigMap resource, reference it in the spec.caBundleRef field of the ImageClusterInstall resource.
Prerequisites
- You preinstalled a host with single-node OpenShift using an image-based installation.
-
You logged in as a user with
cluster-adminprivileges.
Procedure
Create a CA bundle file called
tls-ca-bundle.pem:Example
tls-ca-bundle.pemfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
ConfigMapobject by running the following command:oc create configmap custom-ca --from-file=tls-ca-bundle.pem -n ibi-ns
$ oc create configmap custom-ca --from-file=tls-ca-bundle.pem -n ibi-nsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
custom-caspecifies the name for theConfigMapresource. -
tls-ca-bundle.pemdefines the key for thedataentry in theConfigMapresource. You must include adataentry with thetls-ca-bundle.pemkey. ibi-nsspecifies the namespace that has theImageClusterInstallresource.Example output
configmap/custom-ca created
configmap/custom-ca createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Reference the
ConfigMapresource in thespec.caBundleReffield of theImageClusterInstallresource:#... spec: caBundleRef: name: custom-ca #...#... spec: caBundleRef: name: custom-ca #...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.4.2. About image-based deployments for single-node OpenShift Copy linkLink copied to clipboard!
You can manually generate a configuration ISO by using the openshift-install program. Attach the configuration ISO to your preinstalled target host to complete the deployment.
16.4.2.1. Deploying a single-node OpenShift cluster using the openshift-install program Copy linkLink copied to clipboard!
You can use the openshift-install program to configure and deploy a host that you preinstalled with an image-based installation. To configure the target host with site-specific details, you must create the following resources:
-
The
install-config.yamlinstallation manifest -
The
image-based-config.yamlmanifest
The openshift-install program uses these resources to generate a configuration ISO that you attach to the preinstalled target host to complete the deployment.
For more information about the specifications for the image-based-config.yaml manifest, see "Reference specifications for the image-based-config.yaml manifest".
Prerequisites
- You preinstalled a host with single-node OpenShift using an image-based installation.
-
You downloaded the latest version of the
openshift-installprogram. - You created a pull secret to authenticate pull requests. For more information, see "Using image pull secrets".
Procedure
Create a working directory by running the following:
mkdir ibi-config-iso-workdir
$ mkdir ibi-config-iso-workdir1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Replace
ibi-config-iso-workdirwith the name of your working directory.
Create the installation manifest:
Create a YAML file that defines the
install-configmanifest:Example
install-config.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow ImportantIf your cluster deployment requires a proxy configuration, you must do the following:
- Create a seed image from a seed cluster featuring a proxy configuration. The proxy configurations do not have to match.
-
Configure the
machineNetworkfield in your installation manifest.
- Save the file in your working directory.
Optional. Create a configuration template in your working directory by running the following command:
openshift-install image-based create config-template --dir ibi-config-iso-workdir/
$ openshift-install image-based create config-template --dir ibi-config-iso-workdir/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
INFO Config-Template created in: ibi-config-iso-workdir
INFO Config-Template created in: ibi-config-iso-workdirCopy to Clipboard Copied! Toggle word wrap Toggle overflow The command creates the
image-based-config.yamlconfiguration template in your working directory:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Edit your configuration file:
Example
image-based-config.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow Create the configuration ISO in your working directory by running the following command:
openshift-install image-based create config-image --dir ibi-config-iso-workdir/
$ openshift-install image-based create config-image --dir ibi-config-iso-workdir/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
INFO Adding NMConnection file <ens1f0.nmconnection> INFO Consuming Install Config from target directory INFO Consuming Image-based Config ISO configuration from target directory INFO Config-Image created in: ibi-config-iso-workdir/auth
INFO Adding NMConnection file <ens1f0.nmconnection> INFO Consuming Install Config from target directory INFO Consuming Image-based Config ISO configuration from target directory INFO Config-Image created in: ibi-config-iso-workdir/authCopy to Clipboard Copied! Toggle word wrap Toggle overflow View the output in the working directory:
Example output
ibi-config-iso-workdir/ ├── auth │ ├── kubeadmin-password │ └── kubeconfig └── imagebasedconfig.iso
ibi-config-iso-workdir/ ├── auth │ ├── kubeadmin-password │ └── kubeconfig └── imagebasedconfig.isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Attach the
imagebasedconfig.isoto the preinstalled host using your preferred method and restart the host to complete the configuration process and deploy the cluster.
Verification
When the configuration process completes on the host, access the cluster to verify its status.
Export the
kubeconfigenvironment variable to your kubeconfig file by running the following command:export KUBECONFIG=ibi-config-iso-workdir/auth/kubeconfig
$ export KUBECONFIG=ibi-config-iso-workdir/auth/kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow Verify that the cluster is responding by running the following command:
oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow Example output
NAME STATUS ROLES AGE VERSION node/sno-cluster-name.host.example.com Ready control-plane,master 5h15m v1.30.3
NAME STATUS ROLES AGE VERSION node/sno-cluster-name.host.example.com Ready control-plane,master 5h15m v1.30.3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.4.2.1.1. Reference specifications for the image-based-config.yaml manifest Copy linkLink copied to clipboard!
The following content describes the specifications for the image-based-config.yaml manifest.
The openshift-install program uses the image-based-config.yaml manifest to create a site-specific configuration ISO for image-based deployments of single-node OpenShift.
| Specification | Type | Description |
|---|---|---|
|
|
| Define the name of the node for the single-node OpenShift cluster. |
| Specification | Type | Description |
|---|---|---|
|
|
| Specifies networking configurations for the host, for example:
If you require static networking, you must install the Important The name of the interface must match the actual NIC name as shown in the operating system. |
|
|
| Specifies a list of NTP sources for all cluster hosts. These NTP sources are added to any existing NTP sources in the cluster. You can use the hostname or IP address for the NTP source. |
|
|
| Specifies the container image registry that you used for the release image of the seed cluster. |
|
|
| Specifies custom node labels for the single-node OpenShift node, for example: nodeLabels: node-role.kubernetes.io/edge: true environment: production
|
16.4.2.2. Configuring resources for extra manifests Copy linkLink copied to clipboard!
You can optionally define additional resources in an image-based deployment for single-node OpenShift clusters.
Create the additional resources in an extra-manifests folder in the same working directory that has the install-config.yaml and image-based-config.yaml manifests.
Filenames for additional resources in the extra-manifests directory must not exceed 30 characters. Longer filenames might cause deployment failures.
16.4.2.2.1. Creating a resource in the extra-manifests folder Copy linkLink copied to clipboard!
You can create a resource in the extra-manifests folder of your working directory to add extra manifests to the image-based deployment for single-node OpenShift clusters.
The following example adds an single-root I/O virtualization (SR-IOV) network to the deployment.
If you add more than one extra manifest, and the manifests must be applied in a specific order, you must prefix the filenames of the manifests with numbers that represent the required order. For example, 00-namespace.yaml, 01-sriov-extra-manifest.yaml, and so on.
Prerequisites
-
You created a working directory with the
install-config.yamlandimage-based-config.yamlmanifests
Procedure
Go to your working directory and create the
extra-manifestsfolder by running the following command:mkdir extra-manifests
$ mkdir extra-manifestsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
SriovNetworkNodePolicyandSriovNetworkresources in theextra-manifestsfolder:Create a YAML file that defines the resources:
Example
sriov-extra-manifest.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Verification
When you create the configuration ISO, you can view the reference to the extra manifests in the
.openshift_install_state.jsonfile in your working directory:Copy to Clipboard Copied! Toggle word wrap Toggle overflow