Chapter 3. Container-native virtualization installation
3.1. Configuring your cluster for container-native virtualization
To obtain an evaluation version of OpenShift Container Platform, download a trial from the OpenShift Container Platform home page.
Container-native virtualization works with OpenShift Container Platform by default, however the following installation configurations are recommended:
- The OpenShift Container Platform cluster is installed on bare metal. Manage your Compute nodes in accordance with the number and size of the virtual machines to host in the cluster.
- Monitoring is configured in the cluster.
3.2. Installing container-native virtualization
Install container-native virtualization to add virtualization functionality to your OpenShift Container Platform cluster.
You can use the OpenShift Container Platform 4.3 web console to subscribe to and deploy the container-native virtualization Operators.
3.2.1. Prerequisites
- OpenShift Container Platform 4.3
Container-native virtualization is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
For more information about the support scope of Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview/.
3.2.2. Preparing to install container-native virtualization
Before installing container-native virtualization, create a namespace that is named openshift-cnv
.
Prerequisites
-
User with
cluster-admin
privileges
Procedure
-
From the OpenShift Container Platform web console, navigate to the Administration
Namespaces page. - Click Create Namespace.
-
In the Name field, type
openshift-cnv
. - Click Create.
3.2.3. Subscribing to the Container-native virtualization catalog
Before you install container-native virtualization, subscribe to the Container-native virtualization catalog from the OpenShift Container Platform web console. Subscribing gives the openshift-cnv
namespace access to the container-native virtualization Operators.
Prerequisites
-
Create a namespace that is named
openshift-cnv
.
Procedure
- Open a browser window and log in to the OpenShift Container Platform web console.
-
Navigate to the Operators
OperatorHub page. - Search for Container-native virtualization and then select it.
- Read the information about the Operator and click Install.
On the Create Operator Subscription page:
Select A specific namespace on the cluster from the Installation Mode list and choose the
openshift-cnv
namespace.Warning-
All namespaces on the cluster (default) installs the Operator in the default
openshift-operators
namespace to watch and be made available to all namespaces in the cluster. This option is not supported for use with container-native virtualization. You must only install the Operator in theopenshift-cnv
namespace.
-
All namespaces on the cluster (default) installs the Operator in the default
- Select 2.2 from the list of available Update Channel options.
- For Approval Strategy, ensure that Automatic, which is the default value, is selected. Container-native virtualization automatically updates when a new z-stream release is available.
-
Click Subscribe to make the Operator available to the
openshift-cnv
namespace.
3.2.4. Deploying container-native virtualization
After subscribing to the Container-native virtualization catalog, create the KubeVirt HyperConverged Cluster Operator Deployment custom resource to deploy container-native virtualization.
Prerequisites
-
An active subscription to the Container-native virtualization catalog in the
openshift-cnv
namespace
Procedure
-
Navigate to the Operators
Installed Operators page. - Click Container-native virtualization.
Click the KubeVirt HyperConverged Cluster Operator Deployment tab and click Create HyperConverged Cluster.
WarningTo avoid deployment errors, do not rename the custom resource. Before you proceed to the next step, ensure that the custom resource is named the default
kubevirt-hyperconverged
.- Click Create to launch container-native virtualization.
-
Navigate to the Workloads
Pods page and monitor the container-native virtualization Pods until they are all Running. After all the Pods display the Running state, you can access container-native virtualization.
3.3. Installing the virtctl
client
The virtctl
client is a command-line utility for managing container-native virtualization resources.
Install the client to your system by enabling the container-native virtualization repository and installing the kubevirt-virtctl
package.
3.3.1. Enabling container-native virtualization repositories
Red Hat offers container-native virtualization repositories for both Red Hat Enterprise Linux 8 and Red Hat Enterprise Linux 7:
-
Red Hat Enterprise Linux 8 repository:
cnv-2.2-for-rhel-8-x86_64-rpms
-
Red Hat Enterprise Linux 7 repository:
rhel-7-server-cnv-2.2-rpms
The process for enabling the repository in subscription-manager
is the same in both platforms.
Procedure
Use
subscription manager
to enable the appropriate container-native virtualization repository for your system:# subscription-manager repos --enable <repository>
3.3.2. Installing the virtctl
client
Install the virtctl
client from the kubevirt-virtctl
package.
Procedure
Install the
kubevirt-virtctl
package:# yum install kubevirt-virtctl
See also: Using the CLI tools for container-native virtualization.
3.4. Uninstalling container-native virtualization
You can uninstall container-native virtualization by using the OpenShift Container Platform web console.
3.4.1. Prerequisites
- Container-native virtualization 2.2
3.4.2. Deleting the KubeVirt HyperConverged Cluster Operator Deployment custom resource
To uninstall container-native virtualization, you must first delete the KubeVirt HyperConverged Cluster Operator Deployment custom resource.
Prerequisites
- An active KubeVirt HyperConverged Cluster Operator Deployment custom resource
Procedure
-
From the OpenShift Container Platform web console, select
openshift-cnv
from the Projects list. -
Navigate to the Operators
Installed Operators page. - Click Container-native virtualization.
- Click the KubeVirt HyperConverged Cluster Operator Deployment tab.
- Click the Options menu in the row containing the kubevirt-hyperconverged custom resource. In the expanded menu, click Delete HyperConverged Cluster.
- Click Delete in the confirmation window.
-
Navigate to the Workloads
Pods page to verify that only the Operator Pods are running. Open a terminal window and clean up the remaining resources by running the following command:
$ oc delete apiservices v1alpha3.subresources.kubevirt.io -n openshift-cnv
3.4.3. Deleting the Container-native virtualization catalog subscription
To finish uninstalling container-native virtualization, delete the Container-native virtualization catalog subscription.
Prerequisites
- An active subscription to the Container-native virtualization catalog
Procedure
-
Navigate to the Operators
OperatorHub page. - Search for Container-native virtualization and then select it.
- Click Uninstall.
You can now delete the openshift-cnv
namespace.
3.4.4. Deleting a namespace using the web console
You can delete a namespace by using the OpenShift Container Platform web console.
If you do not have permissions to delete the namespace, the Delete Namespace option is not available.
Procedure
-
Navigate to Administration
Namespaces. - Locate the namespace that you want to delete in the list of namespaces.
- On the far right side of the namespace listing, select Delete Namespace from the Options menu .
- When the Delete Namespace pane opens, enter the name of the namespace that you want to delete in the field.
- Click Delete.