Windows-VM installieren
Die Installation einer Windows Server-VM auf Hikube erfordert mehrere manuelle Schritte: ISO-Festplatten vorbereiten, VM erstellen, Windows über VNC installieren und dann die virtio-Treiber laden. Diese Anleitung beschreibt den gesamten Prozess.
Voraussetzungen
- kubectl konfiguriert mit Ihrem Hikube-Kubeconfig
- virtctl installiert für den VNC-Zugang
- Lizenz oder Evaluierung von Windows Server 2025 (in dieser Anleitung wird die Evaluierungs-ISO verwendet)
- Ausreichend Speicherplatz (insgesamt ca. 70 Gi)
Schritte
1. Windows Server 2025 ISO-Festplatte erstellen
Erstellen Sie einen VMDisk vom Typ optisch mit der Windows Server-Installations-ISO:
apiVersion: apps.cozystack.io/v1alpha1
kind: VMDisk
metadata:
name: win2k25-iso
spec:
source:
http:
url: https://software-static.download.prss.microsoft.com/dbazure/888969d5-f34g-4e03-ac9d-1f9786c66749/SERVER_EVAL_x64FRE_en-us.iso
optical: true
storage: 7Gi
storageClass: replicated
kubectl apply -f win-iso-disk.yaml
2. Virtio-Treiber ISO-Festplatte erstellen
Die virtio-Treiber sind unerlässlich, damit Windows die Festplatten und das Netzwerk in einer KubeVirt-Umgebung erkennt:
apiVersion: apps.cozystack.io/v1alpha1
kind: VMDisk
metadata:
name: virtio-drivers
spec:
source:
http:
url: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
optical: true
storage: 1Gi
storageClass: replicated
kubectl apply -f virtio-drivers-disk.yaml
3. Systemfestplatte erstellen
Erstellen Sie eine leere Festplatte, die als Systemfestplatte für Windows dient:
apiVersion: apps.cozystack.io/v1alpha1
kind: VMDisk
metadata:
name: win-system
spec:
source: {}
optical: false
storage: 60Gi
storageClass: replicated
kubectl apply -f win-system-disk.yaml
4. Überprüfen, dass alle drei Festplatten bereit sind
kubectl get vmdisk win2k25-iso virtio-drivers win-system
Erwartetes Ergebnis:
NAME STATUS SIZE STORAGECLASS AGE
win2k25-iso Ready 7Gi replicated 2m
virtio-drivers Ready 1Gi replicated 2m
win-system Ready 60Gi replicated 1m
Der Download der Windows-ISO (~5 GB) kann je nach Bandbreite mehrere Minuten dauern. Warten Sie, bis alle Festplatten den Status Ready haben.
5. VMInstance erstellen
Erstellen Sie die VM mit den drei angehängten Festplatten. Die Systemfestplatte muss an erster Position stehen:
apiVersion: apps.cozystack.io/v1alpha1
kind: VMInstance
metadata:
name: windows-server
spec:
runStrategy: Always
instanceProfile: windows.2k25.virtio
instanceType: u1.xlarge
external: true
externalMethod: PortList
externalPorts:
- 3389
disks:
- win-system
- win2k25-iso
- virtio-drivers
kubectl apply -f windows-vm.yaml
Warten Sie, bis die VM startet:
kubectl get vminstance windows-server -w
6. Über VNC für die Installation zugreifen
Öffnen Sie eine VNC-Sitzung zur VM:
virtctl vnc windows-server
Das Windows-Installationsprogramm sollte automatisch von der ISO starten. Folgen Sie den klassischen Installationsschritten:
- Wählen Sie Sprache und Tastatur
- Klicken Sie auf Jetzt installieren
- Wählen Sie die gewünschte Windows Server-Edition
- Akzeptieren Sie den Lizenzvertrag
- Wählen Sie Benutzerdefinierte Installation
7. Virtio-Treiber während der Installation laden
Beim Schritt der Auswahl der Installationsfestplatte erkennt Windows keine Festplatte. Sie müssen die virtio-Treiber laden:
- Klicken Sie auf Treiber laden (Load driver)
- Klicken Sie auf Durchsuchen (Browse)
- Navigieren Sie zum CD-Laufwerk der virtio-Treiber (in der Regel
E:\) - Wählen Sie den Ordner
vioscsi\2k25\amd64(Storage Controller) - Klicken Sie auf OK und dann Weiter
Die 60-GB-Festplatte sollte nun erscheinen. Wählen Sie sie aus und setzen Sie die Installation fort.
Installieren Sie nach der Installation auch die Netzwerktreiber (NetKVM) und den Memory Balloon (Balloon) von der virtio-CD für optimale Leistung. Navigieren Sie zu den Ordnern NetKVM\2k25\amd64 und Balloon\2k25\amd64.
8. Nach der Installation: ISO-Festplatten entfernen
Sobald Windows installiert und funktionsfähig ist, entfernen Sie die ISO-Festplatten aus dem Manifest, um Ressourcen freizugeben und einen Start von der ISO zu vermeiden:
apiVersion: apps.cozystack.io/v1alpha1
kind: VMInstance
metadata:
name: windows-server
spec:
runStrategy: Always
instanceProfile: windows.2k25.virtio
instanceType: u1.xlarge
external: true
externalMethod: PortList
externalPorts:
- 3389
disks:
- win-system
kubectl apply -f windows-vm.yaml
Sie können dann die ISO-VMDisks löschen, wenn Sie sie nicht mehr benötigen:
kubectl delete vmdisk win2k25-iso virtio-drivers
9. RDP-Zugang konfigurieren (optional)
Die VM exponiert bereits Port 3389 (RDP). Rufen Sie die externe IP-Adresse ab:
kubectl get vminstance windows-server -o yaml
Verbinden Sie sich mit Ihrem RDP-Client:
# Von Linux
xfreerdp /v:<IP-EXTERNE> /u:Administrator
# Von macOS (Microsoft Remote Desktop)
# Fügen Sie einen PC mit der Adresse <IP-EXTERNE> hinzu
Überprüfung
Überprüfen Sie, ob die Windows-VM korrekt funktioniert:
kubectl get vminstance windows-server
Erwartetes Ergebnis:
NAME STATUS AGE
windows-server Running 15m
Testen Sie den RDP-Zugang auf Port 3389:
nc -zv <IP-EXTERNE> 3389