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 GDC dengan air gap dan menggunakan image yang dihasilkan untuk membuat mesin virtual. Alat impor mendukung format image 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
gdcloudataukubectl, dan memerlukan lingkungan sistem operasi (OS).
Akses ke server Management API. Ikuti langkah-langkah CLI di Login untuk login ke server Management API.
Meminta peran IAM
Hubungi Admin IAM Project Anda untuk meminta peran berikut di project Anda:
Admin Project Virtual Machine (
project-vm-admin): membuat, mengubah, mencantumkan, dan menghapus VM di namespace project.Project Viewer(
project-viewer): melihat semua resource dalam namespace project.Admin Project Image Mesin Virtual (
project-vm-image-admin): membuat, mencantumkan, dan menghapus image VM di namespace project.
Semua peran VM harus terikat ke namespace project tempat VM berada. Ikuti langkah-langkah untuk memverifikasi akses Anda.
Mengimpor disk virtual
Anda dapat mengimpor file disk image VM 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 image yang disediakan GDC memiliki paket yang diperlukan untuk mengonfigurasi kredensial agar dapat terhubung ke instance menggunakan secure shell (SSH) dan Remote Desktop Protocol (RDP). Hal ini mencakup
paket untuk 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 adalah1h.
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:
Buat objek
VirtualMachineImageImportdi 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 EOFGanti 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
12Guntuk disk virtual dengan ukuran sistem file asli 10G.
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
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, Buat dan mulai VM.