OpenShift 4 was launched not quite a year ago at Red Hat Summit 2019.  One of the more significant announcements was the ability for the installer to deploy an OpenShift cluster using full-stack automation.  This means that the administrator only needs to provide credentials to a supported Infrastructure-as-a-Service, such as AWS, and the installer would provision all of the resources needed, e.g. virtual machines, storage, networks, and integrating them all together as well.

Over time, the full-stack automation experience has expanded to include Azure, Google Compute Platform, and Red Hat Openstack, allowing customers to deploy OpenShift clusters across different clouds and even on-premises with the same fully automated experience.

For organizations who need enterprise virtualization, but not the API-enabled, quota enforced consumption of infrastructure provided by Red Hat OpenStack, Red Hat Virtualization (RHV) provides a robust and trusted platform to consolidate workloads and provide the resiliency, availability, and manageability of a traditional hypervisor.

When using RHV, OpenShift’s “bare metal” installation experience, where there existed no testing or integration between OpenShift and the underlying infrastructure, has been the solution so far.  But, the wait is over! OpenShift 4.4 nightly releases now offer the full-stack automation experience for RHV!

Getting started with OpenShift on RHV

As you would expect from the full-stack automation installation experience, getting started is straightforward with just a few prerequisites below.  You can also use the quick start guide for more thorough and details instructions.

  1. You need a RHV deployment with RHV Manager.  It doesn’t matter if you’re using a self-hosted Manager or standalone, just be sure you’re using RHV version 4.3.7.2 or later.
  2. Until OpenShift 4.4 is generally available, you will need to download and use the nightly release of the OpenShift installer, available from https://cloud.redhat.com.
  3. Network requirements:
    • DHCP is required for full-stack automated installs to assign IPs to nodes as they are created.
    • Identify three (3) IP addresses you can statically allocate to the cluster and create two (2) DNS entries, as below.  These are used for communicating with the cluster as well as internal DNS and API access.
      1. An IP address for the internal-only OpenShift API endpoint
      2. An IP address for the internal OpenShift DNS, with an external DNS record of api.clustername.basedomain for this address
      3. An IP address for the ingress load balancer, with an external DNS record of *.apps.clustername.basedomain for this address.

With the prerequisites out of the way, let’s move on to deploying OpenShift to Red Hat Virtualization!

Magic (but really automation)!

Starting the install process, as with all OpenShift 4 deployments, uses the openshift-install binary.  Once we answer the questions, the process is wholly automated and we don’t have to do anything but wait for it to complete!

# log level debug isn’t necessary, but gives detailed insight to what’s
# happening
# the “dir” parameter tells the installer to use the provided directory
# to store any artifacts related to the installation
[notroot@jumphost ~] openshift-install create cluster --log-level=debug --dir=orv
? SSH Public Key /home/notroot/.ssh/id_rsa.pub
? Platform ovirt
? Select the oVirt cluster Cluster2
? Select the oVirt storage domain nvme
? Select the oVirt network VLAN101
? Enter the internal API Virtual IP 10.0.101.219
? Enter the internal DNS Virtual IP 10.0.101.220
? Enter the ingress IP  10.0.101.221
? Base Domain lab.lan
? Cluster Name orv
? Pull Secret [? for help] **********************

snip snip snip

INFO Waiting up to 30m0s for the cluster at https://api.orv.lab.lan:6443 to initialize...
INFO Waiting up to 10m0s for the openshift-console route to be created...
INFO Install complete!
INFO To access the cluster as the system:admin user when using 'oc', run 'export KUBECONFIG=/home/notroot/orv/auth/kubeconfig'
INFO Access the OpenShift web-console here: https://console-openshift-console.apps.orv.lab.lan
INFO Login to the console with user: kubeadmin, password: passw-wordp-asswo-rdpas

 

 

The result, after a few minutes of waiting, is a fully functioning OpenShift cluster, ready for the final configuration to be applied, like deploying logging and monitoring, and configuring a persistent storage provider.

From a RHV perspective, the installer has created a template virtual machine, which was used to deploy all of the member nodes, regardless of role, for the OpenShift cluster.  As you saw at the end of the video, not only does the installer use this template, but the Machine API integration also makes use of it when creating new VMs when scaling the nodes.  Scaling nodes manually is as easy as one command line (oc scale --replicas=# machineset)!



Deploying OpenShift

To get started testing and trying OpenShift full-stack automated deployments to your RHV clusters, the installer can be found from the Red Hat OpenShift Cluster Manager.  For now, deploying the full-stack automation experience on RHV is in developer preview, so please send us any feedback and questions you have via BugZilla.  The quickest way to reach us is using “OpenShift Container Platform” as the product, with “Installer” as the component and “OpenShift on RHV” for sub-component.