Skip to content

Commit 736e189

Browse files
authored
Merge pull request #565 from mhjacks/vsk_blog
Add Virtualization Starter Kit blog entry
2 parents d471b21 + 7b2dd44 commit 736e189

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

content/blog/2025-04-24-VSK_blog.adoc

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
date: 2025-04-24
3+
title: Introducing Virtualization Starter Kit
4+
summary: An introduction to the new Virtualization Starter Kit Pattern
5+
author: Martin Jackson
6+
blog_tags:
7+
- patterns
8+
- how-to
9+
- virtualization
10+
- OpenShift Virtualization
11+
---
12+
:toc:
13+
:imagesdir: /images
14+
15+
== Overview
16+
17+
The key driving forces behind the Validated Patterns initiative have always been testability, modularity, and repeatability. When the initiative started,
18+
we had a broad view of GitOps that included platforms in addition to OpenShift and GitOps mechanisms other than the OpenShift GitOps operator (although those
19+
two in particular form the basis and benchmark of what GitOps can do and can be elsewhere). The first pattern we developed that included non-OpenShift
20+
components as essential parts of the pattern was https://validatedpatterns.io/patterns/ansible-edge-gitops/[Ansible Edge GitOps] in 2022. We included OpenShift
21+
Virtualization in that pattern because it looked like the most effective way to be able to make instantiation of RHEL nodes testable in different
22+
scenarios without depending on hyperscaler-specific APIs or conventions to do it. But AEG was primarily intended to be an "edge" pattern, and as several people
23+
have pointed out since its release "AWS ain't edge." Further, the OpenShift virtualization support in AEG shows a path to having a dedicated virtualization
24+
environment (it could support Live Migration, for example, but it only provisions a single metal node in its AWS variant), but the focus with AEG (and its
25+
derivative, https://validatedpatterns.io/patterns/federated-edge-observability/[Federated Edge Observability]) is on how to deliver a GitOps-compliant Ansible
26+
configuration, including configuring AAP itself.
27+
28+
Since the introduction of AEG, OpenShift Virtualization has become an increasingly important part of the Red Hat portfolio, and we have gotten several requests
29+
to have a pattern that specifically focuses on Virtualization, as opposed to Edge and Ansible. The intent of the https://validatedpatterns.io/patterns/virtualization-starter-kit[Virtualization Starter Kit]
30+
pattern is to do just that - focus on virtualization and create an environment to explore and demonstrate the capabilities of OpenShift Container Platform Virtualization,
31+
including the ability to LiveMigrate VMs, and a fencing configuration. The pattern also includes the Migration Toolkit for Virtualization operator.
32+
33+
== Introduction
34+
35+
The goal of the Virtualization Starter Kit pattern is to provide a reasonable starting point for exploring and using OpenShift Container Platform Virtualization features. The pattern
36+
includes:
37+
38+
* OpenShift Virtualization
39+
* OpenShift Data Foundation (to provide RWX volumes, cloning, and snapshot capabilities)
40+
* Fencing via the OpenShift Node Health Check Operator and Self Node Remediation Operator (to provide VM High Availability in the event of hypervisor failure)
41+
* Two RHEL9 VMs that users can perform various "day 2" operations on, such as LiveMigration, snapshots, backup/restore.
42+
* The Migration Toolkit for Virtualization Operator
43+
44+
Additionally, users can use the VM templates built into OCP Virtualization or other mechanisms to create additional VMs in their clusters outside of the pattern. We do not provide a default
45+
configuration for MTV, but users are free to configure that Operator as they wish.
46+
47+
== Technical Notes
48+
49+
The Virtualization Starter Kit uses many components that have been developed initially for the Ansible Edge GitOps and Federated Edge Observability patterns. These include
50+
the support for OCP-Virtualization itself, resilient storage via ODF, and a chart for defining and deploying VMs, as well as new elements; particularly an enhancement to the
51+
kubevirt worker deployment mechanism that will now deploy a metal worker machineset (with one machine) in every Availability Zone the pattern is deployed in. (AEG and
52+
Federated Edge Observability deployed one metal machine in the first discovered availability zone). So if your cluster deploys in two availability zones, the pattern will
53+
provision one metal node in each of those AZs. If your cluster is in three AZs, there will be three metal nodes, and so on. We did this because the purpose of this pattern
54+
is to allow experimentation with an existing virtualization setup, with a reasonable HA configuration. Previously, while many of the components were HA-ready, the purpose
55+
of those patterns was not to provide an HA virtualization environnment.
56+
57+
There are two major addition in this pattern as opposed to previous patterns. The first is the inclusion the Node Health Check and Self Node Remediation operators. These are
58+
essential in providing VM-level high availability. The strategy of Self Node Remediation was chosen because it is the simplest to configure and administer. The second addition
59+
is the inclusion of the Migration Toolkit for Virtualization operator. It is included without a configuration, because we did not think we could ship a default configuration
60+
that would be broadly applicable due the wide variety of existing virtualization environments MTV supports and that are deployed in the field.
61+
62+
The pattern provides two small RHEL9 VMs without any configuration beyond using the credentials provided in the pattern. This is so that there are VMs available by default to
63+
perform actions like LiveMigration with. Pattern users are free and encouraged to create their own VMs using any available mechanism (including the wizards provided by
64+
OCP-Virtualization). Because the VMs provided in the pattern are GitOps managed, the pattern is liable to revert changes made to VM parameters like number of CPUs and memory
65+
sizing to those VMs. VMs created outside the pattern will be not be controlled by the pattern framework in any way.
66+
67+
== The Future
68+
69+
If this proves to be a successful pattern, it will get additional development time, which will enhance its pattern tiering status (it will become a tested pattern), and
70+
it will get a defined configuration for running on baremetal as well as its primary configuration.
71+
72+
== What Next?
73+
74+
Please feel free to https://validatedpatterns.io/patterns/virtualization-starter-kit/getting-started/[get started] with the pattern by installing it. Please report any issues
75+
you encounter in our https://github.com/validatedpatterns-sandbox/virtualization-starter-kit/issues[issue tracker].

0 commit comments

Comments
 (0)