Mengimpor disk virtual

Dokumen ini menjelaskan langkah-langkah untuk mengimpor image disk virtual machine (VM) ke Google Distributed Cloud (GDC) yang terisolasi.

Impor disk virtual yang ada, yang sering disebut disk emas atau image emas, ke Distributed Cloud untuk menghemat waktu dan menggunakan image yang dihasilkan untuk membuat virtual machine. Alat impor mendukung format gambar RAW dan QCOW.

Dokumen ini ditujukan bagi developer dalam grup administrator platform atau operator aplikasi yang membuat image VM. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC yang terisolasi dari internet.

Sebelum memulai

Sebelum melanjutkan, pastikan Anda memiliki hal berikut:

  • gdcloud CLI didownload, diinstal, dan dikonfigurasi. Semua perintah CLI untuk GDC menggunakan CLI gdcloud atau kubectl, dan memerlukan lingkungan sistem operasi (OS).

Meminta izin dan akses

Untuk mengimpor image dan melakukan operasi VM yang tercantum di halaman ini, minta Admin IAM Project Anda untuk memberi Anda peran IAM berikut di namespace project tempat VM berada:

  • Project VirtualMachine Admin (project-vm-admin): mengelola VM di namespace project.

  • Project Viewer (project-viewer): memiliki akses hanya baca ke semua resource dalam namespace project.

Ikuti langkah-langkah untuk memverifikasi akses Anda.

Mengimpor disk virtual

Anda dapat mengimpor file disk virtual langsung dari workstation Anda. Alat import akan otomatis mengupload file ke bucket penyimpanan objek di project Anda.

Untuk mengimpor disk virtual, gunakan gdcloud CLI atau Virtual Machine Manager API.

gdcloud

Perintah import memeriksa apakah disk memiliki paket yang diperlukan untuk mengonfigurasi kredensial guna terhubung ke instance menggunakan Secure Shell (SSH) dan Remote Desktop Protocol (RDP). Hal ini mencakup lingkungan tamu.

Perintah ini juga menginstal paket untuk Network Time Protocol (NTP) dan cloud-init agar instance berjalan dengan benar di GDC.

  • Untuk membuat image yang dapat di-booting, gunakan perintah gdcloud compute images import:
gdcloud compute images import IMAGE_NAME \
  --source-file=SOURCE_FILE \
  --os=IMAGE_OS \
  --timeout=TIMEOUT

Ganti variabel berikut:

  • IMAGE_NAME: nama image tujuan Anda. Nama tidak boleh lebih dari 35 karakter.
  • SOURCE_FILE: file disk virtual Anda. File ini adalah file lokal di workstation Anda. Anda dapat memberikan jalur absolut atau relatif.
  • IMAGE_OS: OS pada disk yang akan diimpor.
  • TIMEOUT: durasi waktu impor dapat berlangsung sebelum gagal dengan "TIMEOUT". Misalnya, jika Anda menentukan 2h, proses akan gagal setelah 2 jam. Waktu tunggu default adalah 1h.

Operasi upload dapat memerlukan waktu yang lama, bergantung pada ukuran disk virtual dan kecepatan koneksi jaringan Anda. Operasi impor dapat membutuhkan waktu puluhan menit untuk dijalankan, bergantung pada ukuran disk.

API

Untuk mengimpor disk virtual melalui API, lakukan hal berikut:

  1. Buat objek VirtualMachineImageImport di server Management API untuk memulai proses impor gambar:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT_ID \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineImageImport
    metadata:
      name: IMAGE_NAME
      namespace: PROJECT_ID
    spec:
      source:
        objectStorage:
          bucketRef:
            name: vm-images-bucket
          objectName: SOURCE_FILE
      imageMetadata:
        name: IMAGE_NAME
        operatingSystem: IMAGE_OS
        minimumDiskSize: DISK_SIZE
    EOF
    

    Ganti variabel berikut:

    • IMAGE_NAME: Nama image yang akan diimpor. Nama tidak boleh lebih dari 35 karakter.
    • PROJECT_ID: Project ID untuk project tempat Anda ingin mengimpor image.
    • SOURCE_FILE: Nama file sumber yang berisi upload disk virtual ke penyimpanan objek. Nilai ini adalah bagian dari jalur penyimpanan objek setelah vm-images-bucket/.
    • IMAGE_OS: OS pada disk yang akan diimpor.
    • DISK_SIZE: Ukuran minimum disk yang harus dimiliki untuk dibuat dengan image ini. Gunakan buffer minimal 20% di atas ukuran sistem file gambar asli. Misalnya, gunakan setidaknya 12G untuk disk virtual dengan ukuran sistem file asli 10G.
  2. Pantau progres impor dengan membuat kueri status objek VirtualMachineImageImport:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT_ID \
      get virtualmachineimageimport.virtualmachine.gdc.goog IMAGE_NAME \
      -o jsonpath='{.status}'
    

Membersihkan resource

Proses impor melibatkan penguploadan file disk virtual Anda ke penyimpanan objek. Jika Anda menggunakan gdcloud CLI, objek akan dibersihkan saat perintah selesai, baik berhasil maupun tidak. Jika perintah terganggu, atau jika Anda melakukan impor image dengan API, file disk virtual mungkin tetap berada di bucket penyimpanan objek bernama vm-images-bucket hingga Anda menghapus file tersebut secara manual.

Langkah berikutnya