DEV Community

Cover image for vJailbreak: Your Open-Source, K8s-Native Escape Pod from VMware
Leo
Leo

Posted on

vJailbreak: Your Open-Source, K8s-Native Escape Pod from VMware

In the wake of Broadcom’s acquisition of VMware, IT teams everywhere are staring down the barrel of "license-shock" and overhauled pricing models. If you're looking for a low-cost, automated, and scalable exit strategy, vJailbreak is the tool you need in your belt.

Developed by Platform9, vJailbreak is an open-source, Kubernetes-native migration engine designed to pull VMs out of VMware vCenter and drop them into any OpenStack-compatible cloud (including Platform9 Private Cloud Director).


The Feature Set

Feature The TL;DR
Auto-Discovery Connects to vCenter and enumerates every VM and config automatically.
Disk Conversion Handles the heavy lifting of converting VMDK to QCOW2 via virt-v2v.
Hot & Cold Migration Supports both offline moves and live migrations.
Incremental Sync Leverages VMware’s Changed Block Tracking (CBT) for data delta sync.
Storage Offloading Native copy offloading for compatible arrays like Pure Storage.
Massive Scale Orchestrates rolling migrations host-by-host for data-center-wide moves.
Policy Mapping Automates the mapping of source port groups/datastores to target networks/volumes.

Under the Hood: The Architecture

vJailbreak is delivered as a pre-built QCOW2 appliance. It’s essentially "K8s-in-a-box," running a k3s cluster that hosts the controller, the web UI, and the migration workers.

Kubernetes CRDs (The Brains)

All migration logic is handled via Custom Resource Definitions (CRDs) under the vjailbreak.k8s.pf9.io/v1alpha1 API group:

  • VMwareCreds: Your vCenter keys. Adding this triggers the discovery process.
  • VMwareMachine: A K8s representation of a discovered VMware VM.
  • MigrationPlan: The blueprint for a batch migration.
  • RollingMigrationPlan: Orchestration for entire ESXi hosts or clusters.

Getting Up and Running

Prerequisites

  • vCenter 7.0+ / ESXi 6.7+.
  • OpenStack (Queens release or newer).
  • Functional DNS: The appliance must be able to resolve all ESXi hostnames.
  • VDDK: You’ll need to download the VMware Virtual Disk Development Kit separately.

Step 1: Grab the Image

Pull the image using ORAS:

oras pull quay.io/platform9/vjailbreak:<tag>

Enter fullscreen mode Exit fullscreen mode

Step 2: Fire up the Appliance

Upload the image to Glance and launch an instance (recommend m1.xlarge or better):

openstack server create \
  --flavor m1.xlarge \
  --image vjailbreak-image \
  --network <migration-network> \
  vjailbreak-appliance

Enter fullscreen mode Exit fullscreen mode

Step 3: Configure VDDK & Local DNS

SSH into the appliance, extract the VDDK libs, and ensure your /etc/hosts or DNS can find your ESXi hosts. If you change DNS settings, remember to bounce the controller:

kubectl -n vjailbreak rollout restart deployment migration-controller-manager

Enter fullscreen mode Exit fullscreen mode

The Testing Gauntlet: From Dev to Production

Don't just "yolo" your production workloads. Follow this phased approach:

Phase 1: Connectivity Check

Verify your appliance can talk to both the source (vCenter/ESXi) and the destination (OpenStack API).

Phase 2: Discovery

Add your credentials via the Web UI (at http://<vjailbreak-ip>) and watch the VMwareMachine resources populate in K8s.

Phase 3: The Cold Migration Test

Pick a non-critical Linux VM (< 20GB) and run a cold migration.

Validation Checklist: Does it power off in vCenter? Does the QCOW2 conversion finish? Does it boot in OpenStack with working networking?

Phase 4: The Hot Migration (CBT)

Test a live sync with a manual cutover. This allows you to sync the bulk of the data while the VM is running, minimizing downtime to a final "delta" sync.

# Trigger the final cutover once data is synced
kubectl -n vjailbreak patch migrationplan hot-migration-plan \
  --type merge -p '{"spec":{"adminCutoverTriggered":true}}'

Enter fullscreen mode Exit fullscreen mode

Phase 5: Batch & Rolling Migrations

Scale up using MigrationPlan for parallel moves or RollingMigrationPlan to clear out entire ESXi hosts.


Real-World Performance & Gotchas

Performance Benchmarks

  • Scale: Proven up to 40,000 VMs for Fortune 500 environments.
  • Cost: Approximately $35 per VM migration.
  • Throughput: 200+ VMs per day.
  • Downtime: Typically < 30 seconds for hot migrations.

Pro-Tips & Warnings

  1. DNS is King: If the appliance can't resolve an ESXi host by name, the migration will fail.
  2. Windows Drivers: Ensure your OpenStack environment has VirtIO drivers ready for Windows guests.
  3. Big Data: For disks > 1TB, use storage array acceleration if available to avoid massive network overhead.
  4. Issue #1556: Be careful with post-migration renames; they can sometimes trigger CRD rebuilds and validation errors in batch plans.

Summary

vJailbreak is a battle-tested, declarative way to handle the Great VMware Exodus. By treating migrations as Kubernetes resources, it brings CI/CD-like reliability to infrastructure moves. Whether you're moving ten VMs or ten thousand, it’s a solid, open-source path forward.

Resources:

Top comments (0)