Turbonomic

Turbonomic

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

OpenShift Virtualization Initial Placement : Optimizing VM Placement with Turbonomic

By Sivanie Nejukumar posted 07/07/26 03:19 AM

  

Introduction


As organizations modernize their infrastructure, many are bringing traditional virtual machine workloads into Kubernetes environments using OpenShift Virtualization. This approach enables teams to manage both containerized applications and virtual machines on a single platform while leveraging Kubernetes-native automation and orchestration capabilities.


One of the key challenges in this transition is determining where newly created virtual machines should run. Selecting an appropriate node requires evaluating available capacity, current utilization, placement constraints, and business policies. Manual placement can lead to resource fragmentation, performance issues, and inefficient infrastructure utilization.


Turbonomic addresses this challenge through its Initial Placement capability for OpenShift Virtualization. By continuously analyzing real-time cluster conditions, Turbonomic identifies the most suitable node for a new virtual machine before deployment, helping ensure optimal performance and efficient resource utilization from the start.


As OpenShift Virtualization environments grow, placement decisions become increasingly important for maintaining application performance and maximizing infrastructure efficiency. Selecting the right node at deployment time helps avoid resource contention, improve workload distribution, and make better use of available cluster capacity. By automating these decisions based on workload requirements, resource availability, and placement policies, Turbonomic helps platform teams reduce operational complexity, enforce governance requirements, and confidently scale virtualization workloads across their OpenShift environments.
In this blog, you'll learn how to configure VM templates and reservations in Turbonomic to enable intelligent initial placement for OpenShift Virtualization workloads.


What is initial placement?



Initial placement is the process of determining the best host node for a new virtual machine before it is deployed. 
When a VM request is submitted, Turbonomic evaluates:


  • CPU and memory requirements

  • Current cluster utilization

  • Namespace and cluster constraints

  • Placement policies

  • CPU and memory overcommit settings

  • Available capacity across worker nodes


Using its market-based optimization engine, Turbonomic recommends the optimal placement location while ensuring policy compliance and efficient resource consumption.
KubeVirt runs each virtual machine as a pod. As a result, Turbonomic's supply chain models the OpenShift Virtual Machine workload as a Container Pod entity, while the host node that runs KubeVirt pods is modeled as a Virtual Machine entity to reflect its role as a compute host.

image

Prerequisites


Before proceeding, ensure the following prerequisites are met:

OpenShift Container Platform is installed and operational.


OpenShift Virtualization is installed and configured.


Turbonomic is connected to the OpenShift cluster.


To ensure accurate initial placement decisions, it is recommended to set disableHistoricalCache=true in the XL deployment cr.yaml. This ensures that OpenShift VM placement is based on real-time resource availability rather than historical data.


spec:
  # ... other spec fields ...
  properties:
     market:
       disableHistoricalCache: true

Understanding templates and reservations



Turbonomic uses Templates and Reservations together to model and place virtual machine workloads.


Templates



Templates define the virtual machine characteristics that Turbonomic uses during placement calculations. Think of a template as a sizing blueprint for future VMs.
A template can specify:


  • CPU topology
    
  • Cores per socket
    
  • Number of sockets
    
  • Threads per core

  • CPU allocation ratio (CPU overcommit)

  • Guest memory size

  • Memory overcommit 

  • Expected CPU and memory utilization

These values allow Turbonomic to estimate resource consumption before the VM is deployed.                   
If CPU allocation ratio or memory overcommit settings are not explicitly defined, Turbonomic applies default values of a CPU allocation ratio of 10 and a memory overcommit of 100%. 


Reservations 



Reservations link templates to specific VM scopes and define placement constraints.   
A reservation defines:


  • Target OpenShift cluster
  • 
Target namespace

  • Number of virtual machines to reserve

  • Reservation timing

  • Placement constraints
  • Quota validation requirements


During placement analysis, Turbonomic validates that sufficient resources exist while honoring all configured constraints.


Steps to place an OpenShift virtual machine


Create a new template


Create a OpenShift virtual machine template
. Begin by creating a template that represents the virtual machine configuration to deploy.


Step 1: Navigate to Templates

  1. Log in to Turbonomic.

  2. Open Settings.

  3. Select Templates.
  4. 
Click New template.

  5. Choose OpenShift virtual machine as template type.
Step 2: Configure Template settings

  • Display Name: "ocp-template" 

  • CPU: 2 core, 1 sockets, 1 threads 
  • 
CPU Allocation Ratio: 10  

  • Memory: 2048 MB guest memory   

  • Memory Overcommit: 100%    
  • 
Utilization: 70%    
image

After creating, the template becomes available for future reservation requests.


Create a reservation   



Next, create a reservation to model the VM deployment request.

Step 1: Navigate to reservations

  1. Log in to Turbonomic.
  2. 
Navigate to Place.

  3. Click on create reservation.
Step 2: Configure reservation details

  1. Select Template: Choose "Openshift VM Template"

  2. Specify Scope: Select your OpenShift cluster    
  3. 
Select Namespace: Choose target namespace
  4. 
Placement policy: Apply any additional placement policies

  5. VM Count: Number of VMs to reserve
  6. 
Reservation Date: Reserve immediately or schedule for future

image

Turbonomic immediately evaluates cluster capacity and placement feasibility based on the reservation requirements.


image


Configure placement policies



Placement policies provide additional control over where workloads can be deployed.
For example, you may want to restrict workloads to specific worker nodes.


Step 1: Create a Placement Policy

  1. Log in to Turbonomic.

  2. Open Settings.

  3. Select Policies.

  4. Click Placement Policies.

  5. Click Create.
Step 2: Configure Policy Settings

  1. Name : Custom Policy Name

  2. Type : Place or Do Not Place

  3. Entity to be Placed : Container Pods
   Scope: Group of Container Pods 

  4. Entity to be Placed On : Virtual Machine
   Scope: Group of Worker Node Virtual Machines

  5. Limit workload entities to placement group:
 Ensures that virtual machines are deployed only on hosts that belong to the specified placement group.

  6. Limit the maximum number of workload entities per placement entity to : 
Sets a maximum number of VM instances that can run on a placement entity.
image

Save the policy once configuration is complete.
Turbonomic will now analyze your cluster and recommend the optimal node for VM placement considering current utilization, available capacity, and all defined constraints.   


Conclusion     



OpenShift Virtualization enables organizations to run virtual machines alongside containerized workloads on a unified Kubernetes platform. As VM adoption grows, selecting the right placement location becomes increasingly important for maintaining performance and infrastructure efficiency.
Turbonomic's Initial Placement capability simplifies this process by combining real-time cluster analysis, template-based sizing, reservations, and policy enforcement. The result is intelligent VM placement that maximizes resource utilization while ensuring compliance with operational constraints.
By implementing templates, reservations, and placement policies, platform engineers can confidently deploy virtual machines into OpenShift environments knowing that each workload is placed where it can perform most effectively from day one.   

Learn More

OpenShift Virtualization Documentation


Turbonomic Reservation Documentation


Turbonomic Placement


Kubernetes Resource Management

0 comments
22 views

Permalink