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>
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
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
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}}'
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
- DNS is King: If the appliance can't resolve an ESXi host by name, the migration will fail.
- Windows Drivers: Ensure your OpenStack environment has VirtIO drivers ready for Windows guests.
- Big Data: For disks > 1TB, use storage array acceleration if available to avoid massive network overhead.
- 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)