Membuat VM Windows dari image ISO di Google Distributed Cloud

Dokumen ini menunjukkan cara membuat virtual machine (VM) Windows yang melakukan booting dari ISO menggunakan VM Runtime di GDC. Saat VM melakukan booting, Anda harus menyelesaikan rutin penyiapan Windows secara manual.

Anda juga dapat membuat VM Windows dari image disk yang sudah disiapkan menggunakan sumber HTTP atau dari Cloud Storage.

Sebelum memulai

Untuk menyelesaikan dokumen ini, Anda memerlukan akses ke resource berikut:

Buat disk virtual untuk image ISO

Agar berhasil membuat VM Windows, ikuti langkah-langkah dan bagian dalam dokumen ini secara berurutan.

Untuk melakukan booting dari image ISO Windows, buat VirtualMachineDisk terlebih dahulu dengan diskType cdrom. Gunakan ISO Windows Anda sebagai sumber untuk disk ini.

  1. Buat manifes VirtualMachineDisk, seperti windows-iso.yaml, di editor pilihan Anda:

    nano windows-iso.yaml
    
  2. Salin dan tempel manifes YAML berikut:

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

    Ganti IMG_URL dengan jalur HTTP ke ISO Windows Anda. Anda juga dapat membuat dan menggunakan kredensial untuk mengimpor ISO dari Cloud Storage.

  3. Simpan dan tutup manifes di editor Anda.

  4. Buat VirtualMachineDisk menggunakan kubectl:

    kubectl apply -f windows-iso.yaml
    

Membuat disk driver VM

Agar berhasil melakukan booting dari ISO Windows dan menyelesaikan proses penginstalan, VM memerlukan akses ke driver virtio. Untuk menyediakan driver virtio ke VM, selesaikan langkah-langkah berikut:

  1. Buat manifes VirtualMachineDisk, seperti virtio-driver.yaml, di editor pilihan Anda:

    nano virtio-driver.yaml
    
  2. Salin dan tempel manifes YAML berikut:

    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
    

    Manifes ini menarik driver virtio terbaru dari repo Docker publik dan menetapkan diskType sebagai cdrom. VM Anda menggunakan disk ini selama proses penginstalan.

  3. Simpan dan tutup manifes di editor Anda.

  4. Buat VirtualMachineDisk menggunakan kubectl:

    kubectl apply -f virtio-driver.yaml
    

Membuat VM Windows

Buat VM yang melakukan booting dari ISO Windows VirtualMachineDisk, dan lampirkan disk driver virtio:

  1. Buat manifes yang menentukan VirtualMachineDisk untuk volume boot dan VirtualMachine, seperti windows-vm.yaml, di editor pilihan Anda:

    nano windows-vm.yaml
    
  2. Salin dan tempel manifes YAML berikut:

    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
    

    Ganti VM_NAME dengan nama yang Anda inginkan untuk VM Anda.

    Manifes ini membuat volume boot 100 Gibibyte (GiB). Karena volume booting ini kosong saat VM pertama kali dimulai, VM akan melakukan booting dari ISO sebagai perangkat CD-ROM untuk memulai rutin penyiapan. Driver virtio juga dilampirkan untuk menyelesaikan proses penginstalan.

  3. Simpan dan tutup manifes di editor Anda.

  4. Buat VirtualMachineDisk dan VirtualMachine menggunakan kubectl:

    kubectl apply -f windows-vm.yaml
    

Menghubungkan ke VM Windows dan menyelesaikan penginstalan OS

VM dimulai dan melakukan booting dari ISO Windows di bagian sebelumnya. Hubungkan ke VM Anda, selesaikan proses penginstalan Windows, dan konfigurasi VM Anda:

  1. Hubungkan ke VM Windows Anda:

    kubectl virt vnc VM_NAME
    

    Ganti VM_NAME dengan nama Windows VM Anda.

    Saat diminta, masukkan kredensial pengguna OS tamu Windows untuk VM Anda.

    Untuk mengetahui informasi selengkapnya tentang cara menggunakan kubectl virt vnc untuk terhubung ke VM, lihat Terhubung langsung menggunakan VNC.

  2. Di penyiapan Windows, pilih untuk melakukan Penginstalan kustom.

  3. Pilih Load driver, jelajahi direktori viostor di disk virtio, lalu pilih direktori yang cocok dengan versi Windows yang ingin Anda instal.

    Untuk mengetahui informasi selengkapnya, lihat Driver virtio Windows KubeVirt.

  4. Dengan driver penyimpanan dan jaringan dari virtio yang kini tersedia, selesaikan proses penginstalan Windows selanjutnya.

    Sebaiknya aktifkan Remote Desktop Protocol agar Anda dapat terhubung langsung ke VM setelah penginstalan.

Lepaskan image ISO dan disk driver

Setelah penginstalan Windows selesai, hapus disk driver virtio dan image ISO Windows dari VM:

  1. Hentikan VM Windows Anda:

    kubectl virt stop VM_NAME
    

    Ganti VM_NAME dengan nama Windows VM Anda.

  2. Gunakan kubectl untuk mengedit VM:

    kubectl edit gvm VM_NAME
    

    Ganti VM_NAME dengan nama Windows VM Anda.

  3. Di editor, perbarui bagian spec.disks untuk menghapus ISO Windows dan disk virtio, seperti yang ditunjukkan dalam contoh berikut. Satu-satunya disk yang masih terpasang ke VM adalah 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. Simpan dan tutup manifes VM.

  5. Mulai VM Windows Anda:

    kubectl virt start VM_NAME
    

    Ganti VM_NAME dengan nama Windows VM Anda.

  6. Periksa STATUS VM Anda:

    kubectl get gvm VM_NAME
    

    Ganti VM_NAME dengan nama Windows VM Anda.

    Pastikan VM Anda dalam status Running. Jika VM tidak dalam status Running state, periksa manifes resource VirtualMachine untuk memastikan Anda hanya menghapus disk ISO Windows dan virtio. Pastikan host memiliki resource komputasi yang cukup untuk memulai VM Anda.

Langkah berikutnya