Mengimpor disk virtual

Jika Anda memiliki disk virtual di lingkungan lokal dengan software dan konfigurasi yang Anda butuhkan, yang terkadang disebut sebagai disk emas atau image emas, Anda dapat menghemat waktu dengan mengimpor disk virtual tersebut ke perangkat air-gapped GDC dan menggunakan image yang dihasilkan untuk membuat mesin virtual. Alat impor mendukung format gambar RAW dan QCOW.

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).
  • Akses ke server Management API. Ikuti langkah-langkah CLI di Login untuk login ke server Management API.

Meminta izin dan akses

Untuk melakukan tugas yang tercantum di halaman ini, Anda harus memiliki peran Project VirtualMachine Admin dan Project VirtualMachine Image Admin. Ikuti langkah-langkah untuk memverifikasi atau meminta Admin IAM Project menetapkan peran Project VirtualMachine Admin (project-vm-admin) dan Project VirtualMachine Image Admin (project-vm-image-admin) kepada Anda di namespace project tempat VM berada.

Untuk operasi VM menggunakan konsol GDC atau gdcloud CLI, minta Admin IAM Project Anda untuk memberi Anda peran yang tercantum di paragraf sebelumnya dan peran Project Viewer (project-viewer).

Mengimpor disk virtual

Anda dapat mengimpor disk virtual menggunakan gcloud CLI atau Virtual Machine Manager API.

Untuk mendapatkan izin yang diperlukan untuk mengimpor image, minta Admin IAM Organisasi Anda untuk memberi Anda peran Project VirtualMachine Image Admin (project-vm-image-admin) untuk project Anda.

gdcloud

Gunakan perintah gdcloud compute images import untuk membuat image yang dapat di-booting.

Perintah import memastikan bahwa disk memiliki paket yang diperlukan, termasuk lingkungan tamu, yang diperlukan untuk mengonfigurasi kredensial agar terhubung ke instance menggunakan secure shell (SSH) di Linux dan Remote Desktop Protocol (RDP) di Windows.

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

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

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

Sebelum memulai proses impor dengan API, Anda harus mengupload disk virtual ke bucket penyimpanan objek bernama vm-images-bucket. Untuk membuat bucket penyimpanan objek, lihat Membuat bucket penyimpanan untuk project.

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_KUBECONFIG \
      apply -n PROJECT_ID -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: OPERATING_SYSTEM
        minimumDiskSize: DISK_SIZE
    EOF
    

    Ganti variabel berikut:

    Variabel Deskripsi
    IMAGE_NAME Nama gambar 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/.
    OPERATING_SYSTEM OS di disk yang akan diimpor.
    DISK_SIZE Ukuran minimum disk yang harus dimiliki untuk dibuat dengan image ini. Sebaiknya gunakan buffer minimal 20% di atas ukuran sistem file gambar asli. Misalnya: gunakan setidaknya 12 GiB untuk disk virtual dengan ukuran sistem file asli 10 GiB.
  2. Pantau progres impor dengan membuat kueri status objek VirtualMachineImageImport:

    kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \
      get virtualmachineimageimport --namespace PROJECT_ID \
      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 impor image dilakukan dengan API, file disk virtual mungkin tetap berada di bucket penyimpanan objek bernama vm-images-bucket hingga Anda menghapus file secara manual.

Langkah berikutnya

Buat instance VM baru yang menggunakan image Anda di halaman, Membuat dan memulai VM.