Crea una VM Windows da un'immagine ISO in Google Distributed Cloud

Questo documento illustra come creare una macchina virtuale (VM) Windows che si avvia da un'immagine ISO utilizzando il runtime VM su GDC. All'avvio della VM, devi eseguire completa la routine di configurazione di Windows.

Puoi anche creare una VM Windows da un'immagine disco preparata utilizzando un'origine HTTP o da Cloud Storage.

Prima di iniziare

Per completare questo documento, devi accedere alle seguenti risorse:

Crea un disco virtuale per l'immagine ISO

Per creare correttamente una VM Windows, segui nell'ordine i passaggi e le sezioni di questo documento.

Per avviare da un'immagine ISO di Windows, crea prima un VirtualMachineDisk condiskType di cdrom. Utilizza l'ISO di Windows come origine per questo disco.

  1. Crea un manifest VirtualMachineDisk, ad esempio windows-iso.yaml, nella un editor di tua scelta:

    nano windows-iso.yaml
    
  2. Copia e incolla il seguente manifest YAML:

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachineDisk
    metadata:
      name: windows-iso
    spec:
      source:
        http:
          url: IMG_URL
      size: 10Gi
      diskType: cdrom
    

    Sostituisci IMG_URL con il percorso HTTP dell'ISO di Windows. Puoi anche creare e utilizzare le credenziali per importare un file ISO da Cloud Storage.

  3. Salva e chiudi il manifest nell'editor.

  4. Crea VirtualMachineDisk utilizzando kubectl:

    kubectl apply -f windows-iso.yaml
    

Crea un disco con driver VM

Per avviarsi correttamente da un'immagine ISO di Windows e completare la procedura di installazione, la VM deve avere accesso ai driver virtio. Per fornire i driver virtio alla VM, completa i seguenti passaggi:

  1. Crea un file manifest VirtualMachineDisk, ad esempio virtio-driver.yaml, nell'editor che preferisci:

    nano virtio-driver.yaml
    
  2. Copia e incolla il seguente manifest YAML:

    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
    

    Questo manifest estrae i driver virtio più recenti da un repository Docker pubblico e imposta diskType come cdrom. La VM utilizza questo disco durante il processo di installazione.

  3. Salva e chiudi il manifest nell'editor.

  4. Crea il VirtualMachineDisk utilizzando kubectl:

    kubectl apply -f virtio-driver.yaml
    

Crea una VM Windows

Crea una VM che si avvia dall'ISO di Windows VirtualMachineDisk e si collega il disco dei driver virtio:

  1. Crea un manifest che definisce un VirtualMachineDisk per il volume di avvio e un VirtualMachine, ad esempio windows-vm.yaml, nell'editor che preferisci:

    nano windows-vm.yaml
    
  2. Copia e incolla il seguente manifest YAML:

    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
      compute:
        cpu:
          vcpus: 2
        memory:
          capacity: 4Gi
      interfaces:
        - name: eth0
          networkName: pod-network
    

    Sostituisci VM_NAME con il nome che vuoi usare per la tua VM.

    Questo manifest crea un volume di avvio da 100 gibibyte (GiB). Poiché questo volume di avvio è vuoto al primo avvio della VM, quest'ultima si avvia da ISO come dispositivo CD-ROM la routine di configurazione. I driver virtio sono collegati anche per completare la procedura di installazione.

  3. Salva e chiudi il manifest nell'editor.

  4. Crea VirtualMachineDisk e VirtualMachine utilizzando kubectl:

    kubectl apply -f windows-vm.yaml
    

Connettiti alla VM Windows e completa l'installazione del sistema operativo

La VM si avvia e si avvia dall'ISO di Windows nella sezione precedente. Connettiti alla VM e completa la procedura di installazione di Windows e configura la VM:

  1. Connettiti alla tua VM Windows:

    kubectl virt vnc VM_NAME
    

    Sostituisci VM_NAME con il nome della tua VM Windows.

    Quando richiesto, inserisci le credenziali utente dell'OS guest Windows per la VM.

    Per ulteriori informazioni sull'utilizzo di kubectl virt vnc per connetterti alla VM, consulta Eseguire una connessione diretta utilizzando VNC.

  2. Nella configurazione di Windows, scegli di eseguire un'installazione personalizzata.

  3. Seleziona Carica driver, vai alla directory viostor sul disco virtio, quindi seleziona la directory corrispondente alla versione di Windows che vuoi installare.

    Per ulteriori informazioni, consulta I driver virtio di KubeVirt per Windows.

  4. Ora che i driver di archiviazione e di rete di virtio sono disponibili, completa il resto della procedura di installazione di Windows.

    Ti consigliamo di attivare Remote Desktop Protocol per connetterti direttamente nella VM dopo l'installazione.

Scollega l'immagine ISO e il disco dei driver

Al termine dell'installazione di Windows, rimuovi il disco dei driver virtio e l'immagine ISO di Windows dalla VM:

  1. Arresta la VM Windows:

    kubectl virt stop VM_NAME
    

    Sostituisci VM_NAME con il nome della VM Windows.

  2. Utilizza kubectl per modificare la VM:

    kubectl edit gvm VM_NAME
    

    Sostituisci VM_NAME con il nome della tua VM Windows.

  3. Nell'editor, aggiorna la sezione spec.disks per rimuovere i dischi ISO e virtio di Windows, come mostrato nell'esempio seguente. L'unico disco ancora collegato alla VM dovrebbe essere VM_NAME-boot-dv:

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: windows-vm
    spec:
      osType: Windows
      disks:
        - virtualMachineDiskName: windows-vm-boot-dv
          boot: true
      interfaces:
    ...
    
  4. Salva e chiudi il file manifest della VM.

  5. Avvia la VM Windows:

    kubectl virt start VM_NAME
    

    Sostituisci VM_NAME con il nome della tua VM Windows.

  6. Controlla STATUS della VM:

    kubectl get gvm VM_NAME
    

    Sostituisci VM_NAME con il nome della VM Windows.

    Assicurati che la VM sia in uno stato Running. Se la VM non è in uno stato Running , controlla il file manifest della risorsa VirtualMachine per assicurarti di aver rimosso solo il file ISO di Windows e il disco virtio. Verifica che l'host disponga di risorse di calcolo sufficienti per avviare la VM.

Passaggi successivi