Creating an OpenShift Virtualization Service cluster
Virtual Private Cloud 4.21 and later Bare metal worker nodes only RHCOS only
Create an OpenShift Virtualization Service cluster with pre-configured components for running virtual machines on Red Hat OpenShift on IBM Cloud.
This service is currently available as a beta release. Access is controlled by an allowlist. During the beta period, only console-based cluster creation is supported.
Objectives
In this tutorial, you will:
- Prepare your VPC infrastructure for a Virtualization Service cluster
- Create a Virtualization Service cluster using the console
- Verify that pre-configured components are properly installed
- Access the OpenShift Virtualization interface
Before you begin
Required permissions
All users need the following permissions regardless of the interface used:
- Operator role for IBM Cloud Kubernetes Service
- Editor or Administrator role for VPC Infrastructure Services
Required tools for console users
- Access to the IBM Cloud console
- Optional: OpenShift CLI (
oc) for verifying the cluster after creation
Required tools for CLI users
Create or verify your VPC setup
Before creating a Virtualization Service cluster, verify that your VPC infrastructure meets the following requirements. If you don't have the required resources, create them.
VPC infrastructure requirements
Your VPC setup must include:
- VPC
- A VPC in the region where you want to create the cluster.
- Subnets
- At least one subnet in each zone where you want to deploy worker nodes.
- For high availability, create subnets in at least 3 zones for a multizone cluster
- Each subnet must have enough IP addresses (256 recommended)
- Do not use the following reserved ranges:
172.16.0.0/16,172.18.0.0/16,172.19.0.0/16, and172.20.0.0/16
- Bare metal capacity
- Bare metal worker node flavors must be available in your selected zones.
- Look for flavors ending in
d, which indicates local NVME storage required for OpenShift Data Foundation - Verify that flavors support Virtualization Service by checking for the
openshift-vstag
- Look for flavors ending in
Do not delete the subnets that you attach to your cluster during cluster creation or when you add worker nodes in a zone. If you delete a VPC subnet that your cluster used, any load balancers that use IP addresses from the subnet might experience issues, and you might be unable to create new load balancers.
If you don't have the required VPC infrastructure, complete the following steps to create it.
Creating VPC resources from the console
If you don't have the required VPC infrastructure, create it from the console.
-
Create a VPC in the region where you want to create the cluster.
-
Create subnets in each zone where you want to deploy worker nodes.
- Create subnets in at least 3 zones for high availability
- Create VPC subnets with enough IP addresses, such as 256
-
Verify bare metal capacity in your selected zones by checking the available flavors when you create your cluster in the next step.
Creating VPC resources from the CLI
If you don't have the required VPC infrastructure, create it from the CLI.
-
Create a VPC in the region where you want to create the cluster.
-
Create subnets in each zone where you want to deploy worker nodes.
- Create subnets in at least 3 zones for high availability
- Create VPC subnets with enough IP addresses, such as 256
-
Verify that bare metal capacity is available in your selected zones.
ibmcloud ks flavors --zone <zone> --provider vpc-gen2 | grep metalLook for bare metal flavors ending in
d, which indicates local NVME storage required for OpenShift Data Foundation. To verify that a specific flavor supports Virtualization Service, runibmcloud ks flavor get --flavor <flavor> --zone <zone> --provider vpc-gen2and check for theopenshift-vstag in the output. For a complete list of supported flavors, see Worker node flavors.
Create a Virtualization Service cluster
You can create a Virtualization Service cluster by using the console.
Creating a cluster from the console
-
In the IBM Cloud console, navigate to Infrastructure > OpenShift virtualization.
-
Click Create cluster.
-
Review the pre-configured cluster settings:
The following settings are automatically configured for OpenShift Virtualization Service clusters and cannot be changed:
- Orchestrator: Red Hat OpenShift on IBM Cloud
- Infrastructure: VPC
- Machine type: Bare metal
- Operating system: Red Hat CoreOS (RHCOS)
- Networking plugin: Open Virtual Network (OVN-Kubernetes)
-
Select the OpenShift version:
OpenShift Virtualization requires version 4.21 or later. The latest supported version is automatically selected.
-
Configure Virtualization integrations:
Extend your cluster with key virtualization components. These integrations are connected once the cluster provisioning is complete.
- OpenShift Virtualization operator
- Automatically enabled with default settings. Creates and maintains the OpenShift Virtualization deployment. This integration is required and cannot be disabled.
- Advanced Cluster Management (ACM)
- Optional. Configure this cluster as the ACM hub cluster to control and monitor other Kubernetes clusters.
-
- Plan: ACM for Virtualization
-
- Managed clusters: Import later (default) or import existing clusters during setup
-
- Disaster recovery: For disaster recovery, install ODF on a separate managed cluster
- OpenShift Data Foundation (ODF)
- Recommended. Provides portable and scalable software-defined file, block, and object persistent storage for your container workloads.
-
- Version: Automatically selected based on OpenShift version
-
- Plan: Advanced
-
- Storage type: Local Storage (uses NVME storage from bare metal worker nodes)
A storage add-on (ODF or File Storage for VPC) is required to provision a Virtualization Service cluster.
- File Storage for VPC
- Alternative to ODF. Provides file storage backed by VPC infrastructure. Only one storage option (ODF or File Storage for VPC) can be enabled.
-
Select your Virtual private cloud:
Choose an existing VPC or create a new one. If no VPCs are available, you'll need to create one before proceeding.
-
Configure the Location:
- Worker zones
- Select the zones where you want to deploy worker nodes. Choose at least 3 zones for high availability.
- Subnets
- For each selected zone, choose the corresponding subnet from your VPC.
-
Configure the Worker pool:
- Flavor
- Select a supported bare metal flavor with local NVME storage (e.g.,
bx2d.metal.96x384).
Only bare metal flavors with the
openshift-vstag are available. These flavors include local NVME storage required for OpenShift Data Foundation.- Worker nodes per zone
- Specify the number of worker nodes per zone (minimum 3 recommended for high availability).
- Worker pool encryption
- Optional. Enable a key management service (KMS) provider to encrypt worker node disks.
- Select a KMS instance (e.g., Key Protect or Hyper Protect Crypto Services)
- Choose a root key CRN for encryption
-
Configure Networking:
- Network plugin
- Open Virtual Network (OVN-Kubernetes) is automatically configured and cannot be changed.
OVN-Kubernetes provides advanced, distributed virtual networking with native support for logical switches, routers, and security policies.
- Network settings
- Choose how to communicate with the cluster master:
- Both private & public endpoints: Communication is accessible from the internet and your private network (default)
- Private endpoint only: Communication is established securely to authorized users in your private network, IBM Cloud services, or through a VPC VPN connection
- Internal registry
- Store images in the cluster internal registry with IBM Cloud Object Storage.
- Select an existing Cloud Object Storage instance or create a new one
- A COS bucket will be automatically created for your cluster's internal registry
-
Configure Security settings:
- Outbound traffic protection
- Optional. Protect network traffic by enabling only the connectivity necessary for the cluster to operate and preventing access to the public Internet.
This setting is disabled by default for Virtualization Service clusters.
- Cluster encryption
- Optional. Enable a key management service (KMS) provider to encrypt secrets in your cluster.
- Select a KMS instance (e.g., Key Protect or Hyper Protect Crypto Services)
- Choose a root key CRN for encryption
- Ingress secrets management
- Optional. Register an IBM Cloud Secrets Manager instance to manage ingress subdomain certificates and secrets.
Service authorization is required to allow OpenShift to communicate with Secrets Manager. Click Authorize now to create a policy, or go to IAM to create a custom policy.
- VPC security groups
- Optional. Provide up to four custom security groups to apply to all worker nodes instead of the default VPC security group.
-
Configure Cluster details:
- Cluster name
- Enter a unique name for your cluster (e.g.,
my-vs-cluster). - Resource group
- Select the resource group where you want to create the cluster.
- Tags
- Optional. Add tags to organize and manage your cluster resources.
-
Review the Summary and estimated cost:
The summary shows:
- Number of worker nodes and their configuration
- Operating system (RHCOS)
- ROVE license fee
- Total estimated monthly cost
Additional charges for networking and bandwidth might apply. The estimate does not include usage-based charges.
-
Click Create to provision your cluster.
-
Monitor the cluster creation progress in the IBM Cloud console. The cluster typically takes 30-45 minutes to provision.
Verify the cluster and pre-configured components
After your cluster is created, verify that it's working correctly and that pre-configured components are installed. Use the console-based checks to confirm the cluster and operators are available in the UI.
Access the cluster from the console
-
In the IBM Cloud console, navigate to OpenShift > Clusters.
-
Click your cluster name to view details.
-
Verify that the cluster State shows Normal and the master status shows Ready.
-
Click OpenShift web console to access the cluster interface.
-
Optional: To use the CLI, click Actions > Connect via CLI for instructions.
Access the cluster from the CLI
-
Configure your CLI to use the cluster:
ibmcloud ks cluster config --cluster <cluster-name> --admin -
Verify cluster access:
oc get nodes
Verify OpenShift Virtualization from the console
-
In the OpenShift web console, navigate to Operators > Installed Operators.
-
Select the openshift-cnv project from the dropdown.
-
Verify that the OpenShift Virtualization operator shows a status of Succeeded.
-
In the left navigation of the OpenShift web console, click Virtualization.
-
Verify that the Virtualization pages load without prompts to install additional operators.
-
Click the operator name and navigate to the HyperConverged tab.
-
Verify that the HyperConverged resource shows a Phase of Deployed.
Verify OpenShift Virtualization from the CLI
-
Check the OpenShift Virtualization Operator:
oc get csv -n openshift-cnvLook for
kubevirt-hyperconverged-operatorwithPHASE: Succeeded. -
Verify the HyperConverged resource:
oc get hyperconverged -n openshift-cnvThe
PHASEshould showDeployed. -
Check virtualization pods:
oc get pods -n openshift-cnvAll pods should be in
RunningorCompletedstate.
Access the OpenShift Virtualization interface
Access from the console
-
In the IBM Cloud console, navigate to OpenShift > Clusters.
-
Click your cluster name.
-
Click OpenShift web console to open the cluster interface.
-
In the left navigation, click Virtualization to access the virtual machine management interface.
-
Explore the available options:
- Overview: Dashboard showing VM statistics
- VirtualMachines: List and manage VMs
- Templates: Pre-configured VM templates
- InstanceTypes: VM sizing configurations
- Preferences: VM preference settings
Access from the CLI
-
Get the OpenShift console URL:
ibmcloud ks cluster get --cluster $CLUSTER_NAME | grep "Public Service Endpoint URL" -
Log in to the OpenShift web console using your IBM Cloud credentials.
-
In the left navigation, click Virtualization to access the virtual machine management interface.
-
Explore the available options:
- Overview: Dashboard showing VM statistics
- VirtualMachines: List and manage VMs
- Templates: Pre-configured VM templates
- InstanceTypes: VM sizing configurations
- Preferences: VM preference settings
Next steps
Now that your Virtualization Service cluster is ready:
Troubleshooting
If you encounter issues during cluster creation:
- Cluster creation fails with capacity error
- Bare metal capacity may not be available in your selected zone. Try a different zone or contact IBM Cloud support.
- Worker nodes fail to provision
-
- Verify that your VPC and subnets are properly configured
- Check that you have sufficient IP addresses in your subnets
- Ensure your IAM permissions are correct
- Pre-configured components not installing
-
- Check cluster logs:
ibmcloud ks cluster get --cluster <cluster-name> --show-resources - Verify add-on status:
ibmcloud ks cluster addon ls --cluster <cluster-name> - Review operator logs in the OpenShift console
- Check cluster logs:
For more troubleshooting guidance, see Troubleshooting OpenShift Virtualization.