hyper2kvm

Deployment & Operations

This directory contains guides for deploying Hyper2KVM in various environments, from standalone installations to enterprise Kubernetes/OpenShift deployments.

πŸš€ Getting Started

☁️ Kubernetes & OpenShift

🐳 Container Deployments

πŸ”„ Worker Protocol & API

πŸ“¦ Version History

Release Notes

Version Enhancements

Deployment Methods

# Install on OpenShift
helm install hyper2kvm-operator ./helm/hyper2kvm-operator \
  --namespace hyper2kvm-system \
  --create-namespace \
  --set openshift.enabled=true

# Install on Kubernetes
helm install hyper2kvm-operator ./helm/hyper2kvm-operator \
  --namespace hyper2kvm-system \
  --create-namespace \
  --set openshift.enabled=false

Documentation: v1.6.0 Helm Chart

Method 2: OLM Bundle (OperatorHub)

# Install via operator-sdk
operator-sdk run bundle ghcr.io/ssahani/hyper2kvm-operator-bundle:v2.1.0 \
  --namespace hyper2kvm-system

# Or install from OperatorHub UI

Documentation: v1.4.0 Operator

Method 3: Container Deployment

# Run operator container
podman run -d --name hyper2kvm-operator \
  ghcr.io/ssahani/hyper2kvm:2.1.0-operator

# Run worker container
podman run -d --name hyper2kvm-worker \
  -v /data:/data \
  ghcr.io/ssahani/hyper2kvm:2.1.0-worker

Documentation: Container Deployment Guide

Method 4: Standalone Installation

# Install via pip
pip install "hyper2kvm[full]"

# Run migration
hyper2kvm --config migration.yaml

Documentation: Installation Guide

Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                OpenShift/Kubernetes                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  Hyper2KVM      │────────▢│  Custom          β”‚   β”‚
β”‚  β”‚  Operator       β”‚         β”‚  Resources       β”‚   β”‚
β”‚  β”‚  (Kopf)         │◀────────│  (CRDs)          β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚         β”‚                             β”‚              β”‚
β”‚         β”‚                             β”‚              β”‚
β”‚         β–Ό                             β–Ό              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  Worker Pods    │────────▢│  Storage         β”‚   β”‚
β”‚  β”‚  (Migration)    β”‚         β”‚  (PVC/PV)        β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚         β”‚                                            β”‚
β”‚         β”‚                                            β”‚
β”‚         β–Ό                                            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚         Prometheus/Grafana Metrics          β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Features by Deployment Method

Feature Standalone Container Helm OLM
VM Migration βœ… βœ… βœ… βœ…
Batch Processing βœ… βœ… βœ… βœ…
Worker Protocol ❌ βœ… βœ… βœ…
Kubernetes CRDs ❌ ❌ βœ… βœ…
Admission Webhooks ❌ ❌ βœ… βœ…
Prometheus Metrics ❌ βœ… βœ… βœ…
High Availability ❌ ❌ βœ… βœ…
Auto-scaling ❌ ❌ βœ… βœ…
OpenShift Routes ❌ ❌ βœ… βœ…
OLM Lifecycle ❌ ❌ ❌ βœ…

Platform Support

Getting Help

Contributing

See Contributing Guide for development and deployment contributions.