In diesem Dokument erfahren Sie, wie Sie eine virtuelle Windows-Maschine (VM) erstellen, die über die Anthos-VM-Laufzeit über eine ISO gestartet wird. Wenn die VM gestartet wird, schließen Sie die Windows-Einrichtungsroutine manuell ab.
Sie können auch eine Windows-VM aus einem vorbereiteten Laufwerk-Image mit einer HTTP-Quelle oder aus Cloud Storage erstellen.
Hinweis
Um dieses Dokument abzuschließen, benötigen Sie Zugriff auf die folgenden Ressourcen:
- Zugriff auf Anthos-Cluster on Bare Metal Version 1.12.0 (
anthosBareMetalVersion: 1.12.0
) oder höher. Sie können einen beliebigen Clustertyp verwenden, der Arbeitslasten ausführen kann. Bei Bedarf können Sie Anthos-Cluster auf Bare Metal in Compute Engine ausprobieren oder die Übersicht über die Clustererstellung aufrufen. - Das
virtctl
-Clienttool, das als Plug-in fürkubectl
installiert wurde. Installieren Sie bei Bedarf das virtctl-Clienttool.
Virtuelles Laufwerk für das ISO-Image erstellen
Führen Sie die Schritte und Abschnitte in diesem Dokument der Reihe nach aus, um eine Windows-VM zu erstellen.
Erstellen Sie zum Booten von einem Windows-ISO-Image zuerst ein VirtualMachineDisk
mit diskType
von cdrom
. Verwenden Sie Ihre Windows-ISO als Quelle für dieses Laufwerk.
Erstellen Sie in einem Editor Ihrer Wahl ein
VirtualMachineDisk
-Manifest wiewindows-iso.yaml
.nano windows-iso.yaml
Kopieren Sie das folgende YAML-Manifest und fügen Sie es ein:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso spec: source: http: url: IMG_URL size: 10Gi diskType: cdrom
Ersetzen Sie
IMG_URL
durch den HTTP-Pfad zum Windows-ISO. Sie können auch Anmeldedaten erstellen und verwenden, um eine ISO-Datei aus Cloud Storage zu importieren.Speichern und schließen Sie das Manifest in Ihrem Editor.
Erstellen Sie
VirtualMachineDisk
mitkubectl
:kubectl apply -f windows-iso.yaml
VM-Treiberlaufwerk erstellen
Die VM benötigt Zugriff auf die virtio
-Treiber, um unter Windows erfolgreich zu starten und den Installationsvorgang abzuschließen. Führen Sie die folgenden Schritte aus, um die virtio
-Treiber für die VM bereitzustellen:
Erstellen Sie in einem Editor Ihrer Wahl ein
VirtualMachineDisk
-Manifest wievirtio-driver.yaml
.nano virtio-driver.yaml
Kopieren Sie das folgende YAML-Manifest und fügen Sie es ein:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: virtio-driver spec: size: 1Gi source: registry: url: docker://quay.io/kubevirt/virtio-container-disk:latest diskType: cdrom
Dieses Manifest ruft die neuesten
virtio
-Treiber aus einem öffentlichen Docker-Repository ab und legtdiskType
alscdrom
fest. Ihre VM verwendet dieses Laufwerk während der Installation.Speichern und schließen Sie das Manifest in Ihrem Editor.
Erstellen Sie
VirtualMachineDisk
mitkubectl
:kubectl apply -f virtio-driver.yaml
Windows-VM erstellen
Erstellen Sie eine VM, die vom Windows-ISO VirtualMachineDisk
aus startet und das Treiberlaufwerk virtio
anhängt:
Erstellen Sie im Editor Ihrer Wahl ein Manifest, das eine
VirtualMachineDisk
für das Boot-Volume und eineVirtualMachine
wiewindows-vm.yaml
definiert:nano windows-vm.yaml
Kopieren Sie das folgende YAML-Manifest und fügen Sie es ein:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: VM_NAME-boot-dv spec: size: 100Gi --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: osType: Windows disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true - virtualMachineDiskName: windows-iso - virtualMachineDiskName: virtio-driver interfaces: - name: eth0 networkName: pod-network
Ersetzen Sie
VM_NAME
durch den Namen Ihrer VM.Dieses Manifest erstellt ein Boot-Volume von 100 Gibibyte (GiB). Da dieses Boot-Volume beim ersten Start der VM leer ist, startet die VM von ISO als CD-ROM-Gerät, um die Einrichtungsroutine zu starten. Außerdem sind die
virtio
-Treiber angehängt, um die Installation abzuschließen.Speichern und schließen Sie das Manifest in Ihrem Editor.
Erstellen Sie
VirtualMachineDisk
undVirtualMachine
mitkubectl
:kubectl apply -f windows-vm.yaml
Mit Windows-VM verbinden und Betriebssysteminstallation abschließen
Die VM wird von der Windows-ISO im vorherigen Abschnitt gestartet und gestartet. Stellen Sie eine Verbindung zur VM her, schließen Sie die Windows-Installation ab und konfigurieren Sie die VM:
Stellen Sie eine Verbindung zur Windows-VM her:
kubectl virt vnc VM_NAME
Ersetzen Sie
VM_NAME
durch den Namen Ihrer Windows-VM.Geben Sie bei entsprechender Aufforderung die Nutzeranmeldedaten für Windows-Gastbetriebssysteme für die VM ein.
Weitere Informationen zur Verwendung von
kubectl virt vnc
zum Herstellen einer Verbindung zu Ihrer VM finden Sie unter Direkte Verbindung über VNC.Wählen Sie bei der Windows-Einrichtung eine benutzerdefinierte Installation aus.
Wählen Sie Load-Treiber aus, wechseln Sie zum Verzeichnis viostor auf dem Laufwerk
virtio
und wählen Sie dann das Verzeichnis aus, das der Windows-Version entspricht, die Sie installieren möchten.Weitere Informationen finden Sie unter KubeVirt-Windows-
virtio
-Treiber.Schließen Sie den Rest des Windows-Installationsprozesses ab, wenn die Speicher- und Netzwerktreiber von
virtio
verfügbar sind.Wir empfehlen, Remote Desktop Protocol zu aktivieren, damit Sie nach der Installation eine direkte Verbindung zur VM herstellen können.
ISO-Image und Treiberlaufwerk trennen
Entfernen Sie nach Abschluss der Windows-Installation das Treiberlaufwerk virtio
und das ISO-Image von Windows von der VM:
Beenden Sie Ihre Windows-VM:
kubectl virt stop VM_NAME
Ersetzen Sie
VM_NAME
durch den Namen Ihrer Windows-VM.Verwenden Sie
kubectl
zum Bearbeiten der VM:kubectl edit gvm VM_NAME
Ersetzen Sie
VM_NAME
durch den Namen Ihrer Windows-VM.Aktualisieren Sie im Editor den Abschnitt
spec.disks
, um die Windows-ISO- undvirtio
-Laufwerke zu entfernen, wie im folgenden Beispiel gezeigt. Das einzige Laufwerk, das an die VM angehängt ist, sollteVM_NAME-boot-dv
sein:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: windows-vm spec: osType: Windows disks: - virtualMachineDiskName: windows-vm-boot-dv boot: true interfaces: ...
Speichern und schließen Sie das VM-Manifest.
Starten Sie Ihre Windows-VM:
kubectl virt start VM_NAME
Ersetzen Sie
VM_NAME
durch den Namen Ihrer Windows-VM.Prüfen Sie den
STATUS
Ihrer VM:kubectl get gvm VM_NAME
Ersetzen Sie
VM_NAME
durch den Namen Ihrer Windows-VM.Achten Sie darauf, dass die VM den Status
Running
hat. Wenn die VM nicht den StatusRunning
hat, prüfen Sie das RessourcenmanifestVirtualMachine
, um sicherzustellen, dass nur das Windows-ISO- und dasvirtio
-Laufwerk entfernt wurden. Prüfen Sie, ob der Host genügend Rechenressourcen hat, um Ihre VM zu starten.