Membuat VM Windows dari image ISO di Google Distributed Cloud

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

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

Sebelum memulai

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

Membuat disk virtual untuk image ISO

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

Untuk melakukan booting dari image ISO Windows, buat VirtualMachineDisk dengan diskType cdrom terlebih dahulu. 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 virtio driver. 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 mengambil 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 di-booting dari VirtualMachineDisk ISO Windows, dan lampirkan disk driver virtio:

  1. Buat manifes yang menentukan VirtualMachineDisk untuk volume booting dan a 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 booting 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 di-booting dari ISO Windows di bagian sebelumnya. Hubungkan ke VM Anda dan selesaikan proses penginstalan Windows serta konfigurasi VM Anda:

  1. Hubungkan ke VM Windows Anda:

    kubectl virt vnc VM_NAME
    

    Ganti VM_NAME dengan nama VM Windows Anda.

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

    Untuk mengetahui informasi selengkapnya tentang penggunaan kubectl virt vnc untuk terhubung ke VM Anda, lihat Menghubungkan langsung menggunakan VNC.

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

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

    Untuk mengetahui informasi selengkapnya, lihat Driver Windows KubeVirt virtio.

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

    Sebaiknya aktifkan Protokol Desktop Jarak Jauh agar Anda dapat terhubung langsung ke VM setelah penginstalan.

Melepaskan 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 VM Windows Anda.

  2. Gunakan kubectl untuk mengedit VM:

    kubectl edit gvm VM_NAME
    

    Ganti VM_NAME dengan nama VM Windows Anda.

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

  6. Periksa STATUS VM Anda:

    kubectl get gvm VM_NAME
    

    Ganti VM_NAME dengan nama VM Windows Anda.

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

Langkah berikutnya