KubeVirt
App-as-Code
Maszyny wirtualne jako zasoby Kubernetes — VM-as-Code.
KubeVirt pozwala uruchamiać i zarządzać maszynami wirtualnymi obok kontenerów, w tym samym klastrze Kubernetes. VM definiujesz jako obiekty Kubernetes (CRD), więc korzystają z tego samego deklaratywnego API, GitOps i narzędzi co reszta workloadów. To sposób na włączenie „starszych” obciążeń wymagających pełnego systemu do platformy opartej na kodzie.
Kiedy używać
- Masz workloady, które muszą działać jako VM, ale chcesz nimi zarządzać jak k8s.
- Konsolidujesz kontenery i VM-y na jednej platformie.
- Chcesz VM-y pod GitOps (deklaratywnie, w repo).
Przykład użycia
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata: { name: eiac-vm }
spec:
running: true
template:
spec:
domain:
resources: { requests: { memory: 1Gi } }
kubectl apply -f vm.yaml
kubectl get vms
Warto wiedzieć
- Działa na Kubernetes; VM-y wersjonujesz jak każdy manifest.
- Wymaga wsparcia wirtualizacji na węzłach (KVM).