Create a VM Pool
Deploy a VM pool
A VM pool is a set of pre-provisioned KubeVirt VMs. Idle VMs are allocated on SSH connection, destroyed on disconnect, and automatically replaced to maintain replica count.
Deploy
kubectl apply -f https://github.com/Azure/blip/releases/latest/download/pool.yaml
Pin a version by replacing latest/download with e.g. download/v0.1.0.
Kustomize
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://github.com/Azure/blip/releases/latest/download/pool.yaml
patches:
- target:
kind: VirtualMachinePool
name: blip
patch: |
- op: replace
path: /spec/replicas
value: 10
Customization
curl -fsSLO https://github.com/Azure/blip/releases/latest/download/pool.yaml
CPU and memory
domain:
cpu:
cores: 4
memory:
guest: 8Gi
resources:
requests:
memory: 2Gi
cpu: "1"
Base image
The root disk is served as a containerDisk — a regular container image containing the VM filesystem. No PVCs or CDI are required.
volumes:
- containerDisk:
image: quay.io/containerdisks/fedora:40
name: rootdisk
The image must be cloud-init-compatible with sshd installed.