Virtual machines on Kubernetes
Create and manage KubeVirt virtual machines that run as workloads inside a cluster, including console access and scheduled backups.
You can run full virtual machines as workloads inside a cluster, powered by KubeVirt. These VMs run inside your Kubernetes cluster — they are separate from Akasha instances, which run directly on the platform. Creating VMs requires a Provisioned cluster with the KubeVirt add-on installed (KubeVirt itself requires a storage add-on).
Create a VM
- Go to Kubernetes → VMs and click Create VM.
- Select a Cluster with KubeVirt installed.
- Enter a VM Name (lowercase letters, numbers, hyphens).
- Pick an Image: Ubuntu 24.04 (default), Ubuntu 22.04, Debian 12, or Fedora 41.
- Set vCPUs (default 2) and Memory in MB (default 2048).
- Set Replicas:
1creates a single VM;2or more creates a replica set of identical VMs. - Optionally set a Data Disk size in GB (0 = none). A persistent volume claim named
<vm>-datais created, with an optional storage class. - Optionally check Expose via LoadBalancer and list comma-separated ports (default
80,443) to create aLoadBalancerService for the VM.
VMs are created in the cluster's default namespace.
Log in to a VM
cloud-init sets the password ubuntu for the image's default user account. Change it after first login.
To reach the VM's console, open the cluster's Terminal tab (k9s) — or the terminal tab on the VM's own detail page:
- Type
:thenvmisto list running VM instances. - Select a VM and press
Shift+Cfor the serial console, orShift+Sfor SSH.
Manage a VM
Open a VM from the VMs list. The header shows its phase, with Start/Stop (single VMs), a terminal button, and Delete (type the name to confirm). Tabs:
- Overview — status, resources, volumes, and networks; replica scaling for replica sets; and a Load Balancer section to create or delete
LoadBalancerServices for the VM. To reach a VM service from outside the cluster, you can also use a TCP route on an External IP. - Configuration — edit vCPUs, memory, and replicas in a form, or switch to the YAML editor. VMs deployed through GitOps are read-only here.
- Backups — see below.
- Terminal — the cluster k9s terminal, scoped for console access.
Back up a VM
The VM's Backups tab schedules snapshots of the VM:
- Pick a schedule preset — every 6 hours, every 12 hours, daily, or weekly.
- Set a Retain count; the oldest snapshots are deleted automatically beyond it.
- Optionally enable Export to S3 and provide an S3 endpoint, access key, secret key, and bucket. Each snapshot is then exported to
s3://<bucket>/vm-backups/<vm>/. The credentials are stored as a secret inside your cluster.
Use Backup now for an immediate snapshot. Snapshots are listed with a delete action.
Restores are not available in the console — contact your administrator to restore from a snapshot or an S3 export.
Related
- Add-ons
- Access clusters — the web terminal
- About instances — platform-level VMs and containers
- Ingress and external IPs