Hypervisors
Hypervisors are the physical servers that run your virtual machines on Bunker.
Overview
Bunker uses Proxmox VE as its primary hypervisor. Proxmox is an open source virtualization solution based on:
- KVM (Kernel-based Virtual Machine) for hardware virtualization
- QEMU for hardware emulation
- LXC for Linux containers
Architecture
Abstraction
The Control Plane uses an abstraction to communicate with hypervisors:
hypervisor_connector (abstract trait)
└── hypervisor_connector_proxmox (Proxmox implementation)
└── hypervisor_connector_resolver (dynamic resolution)
This architecture allows:
- Adding new hypervisor types without modifying existing code
- Testing integration with mocks
- Switching between hypervisors as needed
Features
Hypervisor Management
- Registration: Add a new Proxmox cluster to the Control Plane
- Detachment: Remove a hypervisor from the Control Plane
- Monitoring: Monitor hypervisor health status
Instance Operations
The hypervisor executes operations requested by the Control Plane:
| Operation | Description |
|---|---|
| Clone | Create an instance from a template |
| Start | Start an instance |
| Stop | Stop an instance |
| Delete | Delete an instance |
High Availability
Proxmox clusters are configured for high availability:
- Ceph shared storage: VM disks are replicated
- Live migration: VMs can be moved between nodes without interruption
- Fencing: Automatic isolation of failing nodes
Next Steps
- Instances - Understand virtual machines
- Infrastructure - Understand the physical infrastructure