The OpenShift Container Platform installer offers four methods to deploy a cluster:
about the installer
You can use the installer to deploy any type of cluster. The installer creates core components such as Ignition configuration files for bootstrap, control plane (main) and worker engines. You can launch an OpenShift Container Platform cluster with these three configurations and the infrastructure correctly configured.
The OpenShift Container Platform installer uses a set of targets and dependencies to manage cluster installations. The installer has a set of goals it must achieve, and each goal has a set of dependencies. Since each target only addresses its own dependencies, the installer can act to hit multiple targets in parallel with the final target of a working cluster. The installer recognizes and uses existing components instead of running commands to recreate them because the program fills in dependencies.
Figure 1. OpenShift Container Platform installation targets and dependencies
About Red Hat Enterprise Linux CoreOS (RHCOS)
After installation, each machine in the cluster uses Red Hat Enterprise Linux CoreOS (RHCOS) as its operating system. RHCOS is the containerized, immutable version of Red Hat Enterprise Linux (RHEL) and has an RHEL kernel with SELinux enabled by default. Includes
BeletGenericName, which is the Kubernetes node agent and CRI-O container runtime, which is optimized for Kubernetes.
Every control plane machine in an OpenShift Container Platform 4.13 cluster must use RHCOS, which includes a critical first-boot provisioning tool called Ignition. This tool allows the cluster to configure the machines. Operating system updates are delivered as a bootable container image usingOSTreeNameas a backend, deployed to the cluster by the Machine Config operator. Actual operating system changes are made on each machine as an individual operation usingrpm-otree. Together, these technologies allow OpenShift Container Platform to manage the operating system the same way it manages any other application in the cluster, with in-place updates that keep the entire platform up to date. These in-place upgrades can reduce the burden on business teams.
If you use RHCOS as the operating system for all machines in the cluster, the cluster manages all aspects of its components and machines, including the operating system. Therefore, only the machine installer and configurator can modify machines. The installer uses Ignition configuration files to define the exact state of each machine, and the Machine Config operator makes various changes to machines, such as applying new certificates or keys, after installation.
Supported Platforms for OpenShift Container Platform Clusters
In OpenShift Container Platform 4.13, you can deploy a cluster using the infrastructure provided by the installer on the following platforms:
Amazon Web Services (AWS)
Google Cloud Platform (GCP)
Microsoft Azure Stack Hub
Red Hat OpenStack Platform (RHOSP) versions 16.1 and 16.2
The latest release of OpenShift Container Platform supports the latest long-term release and interim release of RHOSP. For full compatibility with the RHSP version, seeOpenShift Container Platform on the RHOSP Support Dashboard.(Video) Solve All iOS 15 Problems for free | iOS 15 Clean Installation
IBM Cloud VPC
Red Hat Virtualization (RHV)
VMware Cloud (VMC) e AWS
For these clusters, all machines, including the computer on which you run the installation process, must have direct access to the Internet to capture platform container images and provide telemetry data to Red Hat.
After installation, the following changes are not supported:
In OpenShift Container Platform 4.13, you can deploy a cluster that uses user-provided infrastructure on the following platforms:
Azure Stack Hub
RHOSP version 16.1 and 16.2
VMware Cloud og AWS
raw metal(Video) Update 3 Installation
IBM zSystems x IBM® LinuxONE
Depending on supported cases for the platform, installations on user-provided infrastructure allow you to run machines with full Internet access, put your cluster behind a proxy server, or runlimited network installation. In a limited network installation, you can download the images needed to install a cluster, place them in a mirrored registry, and use that data to install the cluster. Even if you need internet access to bring images to platform containers, with a limited network setup on vSphere or bare metal infrastructure, your cluster machines don't require direct internet access.
OOpenShift Container Platform 4.x Tested IntegrationsThe page contains details about integration tests for different platforms.
In addition to the attended installer, when installing an OpenShift Container Platform cluster, you download the installer frominfrastructure providerpage on the OpenShift Cluster Manager website. This website is managed by:
REST API for accounts
Registry tokens, which are the extraction secrets you use to get the data you need
Cluster registry, which associates your cluster identity with your Red Hat account to facilitate the collection of usage metrics
In OpenShift Container Platform 4.13, the installer is a Go binary that performs a series of file transformations on a set of components. How you interact with the installer varies depending on the type of installation.
To deploy a cluster with the attended installer, configure the cluster settings using the attended installerassisted installer. There is no installer to download and configure. After completing the configuration, download a Discovery ISO and boot the cluster machines with this image. You can install Assisted Installer clusters on Nutanix, vSphere and bare metal with full integration, and other platforms without integration. If you are deploying on bare metal, provision the entire cluster infrastructure and resources, including networking, load balancing, storage, and individual cluster machines.
To deploy clusters with the agent-based installer, download itagent based installerfirst. Next, you configure the cluster and create a discovery image. You start the cluster machines with the discovery image, which installs an agent that talks to the installer and handles provisioning for you, instead of interacting with the installer or configuring a provisioning mechanism yourself. You must provision all cluster infrastructure and resources, including networking, load balancing, storage, and individual cluster machines. This approach is ideal for network environments with gaps or restrictions.
For clusters with installer-provided infrastructure, you delegate booting and infrastructure preparation to the installer instead of doing it yourself. The installer creates all necessary networks, machines, and operating systems to support the cluster, unless you are installing on bare metal. If you are deploying on bare metal, provision all cluster infrastructure and resources, including the bootstrap machine, network, load balancing, storage, and individual cluster machines.
If you provision and manage the infrastructure for your cluster, you must provision all of the cluster's infrastructure and resources, including the boot engine, networking, load balancing, storage, and individual cluster machines.
The installer uses three sets of files during installation: an installation setup file called
install-config.yaml, Kubernetes manifests, and Ignition configuration files for your machine types.
You can modify the Kubernetes and Ignition configuration files that control the underlying RHCOS operating system during installation. However, there is no validation available to confirm the appropriateness of any changes made to these objects. Changing these objects can make the cluster unusable. Due to this risk, modifying Kubernetes and Ignition configuration files is not supported unless you follow documented procedures or are instructed to do so by Red Hat Support.
The installation configuration file is converted into Kubernetes manifests, and then the manifests are bundled into Ignition configuration files. The installer uses these Ignition configuration files to build the cluster.
All setup configuration files are removed when you run the installer, so be sure to back up any setup files you want to use again.
You cannot change parameters set during installation, but you can change many cluster attributes after installation.
The installation process with Assisted Installer
install withassisted installerinvolves creating a cluster configuration interactively using the web-based UI or using the RESTful API. The assisted installer UI prompts for the required values and provides reasonable default values for the rest of the parameters unless you change them in the UI or with the API. The assisted installer creates a discovery image that you download and use to start the machines in the cluster. The image installs RHCOS and an agent, and the agent takes care of provisioning for you. You can install OpenShift Container Platform with assisted installer and full integration on Nutanix, vSphere and bare metal and other platforms without integration.
OpenShift Container Platform manages all aspects of the cluster, including the operating system itself. Each machine starts with a configuration that points to resources hosted on the cluster it joins. This configuration allows the cluster to manage itself when updates are applied.
If possible, use this feature to avoid downloading and configuring the agent-based installer.
The installation process with an agent-based infrastructure
Agent-based installation is similar to using the attended installer, except that you download and installagent based installerfirst. Agent-based installation is recommended when you want all the convenience of the Assisted Installer, but need to install with an air gap or network disconnected.
If possible, use this feature to avoid creating a provisioning machine with bootable VMs and provision and maintain cluster infrastructure.
The installation process with infrastructure provided by the installer
The default installation type uses the infrastructure provided by the installer. By default, the installer acts as an installation wizard, asking for values it cannot determine and providing reasonable default values for the rest of the parameters. You can also customize the installation process to support advanced infrastructure scenarios. The installer provides the underlying infrastructure for the cluster.
You can install a standard cluster or a custom cluster. With a standard cluster, you provide the minimum details needed to configure the cluster. With a custom cluster, you can specify more details about the platform, such as the number of machines the control plane uses, the type of virtual machine the cluster deploys, or the CIDR region of the Kubernetes service network.
If possible, use this feature to avoid provisioning and maintaining cluster infrastructure. In all other environments, you use the installer to create the necessary components to prepare your cluster infrastructure.
With installer-provided infrastructure clusters, OpenShift Container Platform manages all aspects of the cluster, including the operating system itself. Each machine starts with a configuration that points to resources hosted on the cluster it joins. This configuration allows the cluster to manage itself when updates are applied.
The installation process with user-provided infrastructure
You can also install OpenShift Container Platform on your provisioned infrastructure. You use the installer to create the necessary components to provision the cluster infrastructure, create the cluster infrastructure, and then deploy the cluster on the infrastructure you've provided.
If you don't use the infrastructure provided by the installer, you must manage and maintain the cluster's resources yourself, including:
The underlying infrastructure of the control plane and compute engines that make up the cluster
Cluster network, including DNS records and required subnets
Storage for the cluster's infrastructure and applications
If your cluster uses user-provided infrastructure, you have the option of adding RHEL compute engines to your cluster.
Installation process details
Since each machine in the cluster requires information about the cluster when it is provisioned, OpenShift Container Platform uses abootstrapengine during initial setup to provide the necessary information to the persistent control layer. It starts by using an Ignition configuration file that describes how to create the cluster. The bootstrap engine creates the control plane engines that make up the control plane. The control plane machines then form the computer machines, also known as work machines. The figure below shows this process:
Figure 2. Bootstrap structure, control plane and computer engines
After the cluster machines are booted, the initial machine is destroyed. All clusters use the boot process to prepare the cluster, but if you are preparing the infrastructure for the cluster, you must perform many of the steps manually.
Starting a cluster involves the following steps:
The Bootstrap engine starts and starts hosting the external resources needed to start the control plane engines. (Manual intervention required if you provide the infrastructure)
The Bootstrap engine starts an etcd cluster from a node and a temporary Kubernetes control layer.
The control plane machines get the remote resources from the bootstrap machine and complete the initialization. (Manual intervention required if you provide the infrastructure)
The interim control plan schedules the production control plan for the machines in the production control plan.
The cluster version operator (CVO) goes online and installs the etcd operator. The etcd handler scales etcd to all control plane nodes.
The temporary control layer closes and transfers control to the production control layer.
The Bootstrap engine injects OpenShift Container Platform components into the production control layer.
The installer closes the boot mechanism. (Manual intervention required if you provide the infrastructure)
The control layer configures the compute nodes.
The control layer installs additional services in the form of a set of handlers.
The result of this initialization process is a running OpenShift Container Platform cluster. The cluster downloads and configures the remaining components needed for day-to-day operations, including creating compute engines in supported environments.
The scope of the OpenShift Container Platform installer is intentionally limited. It is designed for simplicity and guaranteed success. You can perform many more configuration tasks after the installation is complete.
I seeAvailable cluster customizationsfor details on OpenShift Container Platform configuration features.