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 Runtime VM di GDC. Saat VM melakukan booting, Anda harus menyelesaikan rutinitas penyiapan Windows secara manual.

Anda juga dapat membuat VM Windows dari disk image yang 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

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 dari 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 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 melakukan booting dari ISO Windows VirtualMachineDisk, dan lampirkan disk driver virtio:

  1. Buat manifes yang menentukan VirtualMachineDisk untuk volume booting 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.

    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 rutinitas 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 akan dimulai dan di-booting dari ISO Windows di bagian sebelumnya. Hubungkan ke VM Anda dan selesaikan proses penginstalan Windows serta konfigurasikan VM Anda:

  1. Menghubungkan ke VM Windows:

    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 Menghubungkan 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 diinstal.

    Untuk informasi selengkapnya, lihat Driver virtio Windows KubeVirt.

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

    Sebaiknya aktifkan Remote Desktop Protocol 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 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 disk Windows ISO dan virtio, seperti yang ditunjukkan dalam contoh berikut. Satu-satunya disk yang tersisa 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, periksa manifes resource VirtualMachine untuk memastikan Anda hanya menghapus ISO Windows dan disk virtio. Pastikan host memiliki resource komputasi yang memadai untuk memulai VM Anda.

Langkah berikutnya