Meminimalkan waktu mulai VM

Jika Anda ingin VM melakukan booting secepat mungkin, minimalkan waktu mulai mesin virtual (VM) dengan petunjuk di halaman ini. Meminimalkan waktu mulai akan mengorbankan efisiensi resource—project Anda akan menggunakan resource tambahan dan memiliki permukaan keamanan yang lebih besar.

Sebelum memulai

Untuk menggunakan perintah antarmuka command line (CLI) gdcloud, pastikan Anda telah mendownload, menginstal, dan mengonfigurasi CLI gdcloud. Semua perintah untuk Distributed Cloud menggunakan CLI gdcloud atau kubectl, dan memerlukan lingkungan sistem operasi (OS).

Mendapatkan jalur file kubeconfig

Untuk menjalankan perintah terhadap server Management API, pastikan Anda memiliki resource berikut:

  1. Login dan buat file kubeconfig untuk server Management API jika Anda belum memilikinya.

  2. Gunakan jalur ke file kubeconfig server Management API untuk menggantikan MANAGEMENT_API_SERVER dalam petunjuk ini.

Meminta izin dan akses

Untuk melakukan tugas yang tercantum di halaman ini, Anda harus memiliki peran Project VirtualMachine Admin. Ikuti langkah-langkah untuk memverifikasi bahwa Anda memiliki peran Project VirtualMachine Admin (project-vm-admin) di namespace project tempat VM berada.

Menjaga koneksi disk tetap aktif

Saat VM dimulai, memulai koneksi dari node VM ke disk VM memerlukan waktu beberapa detik. Agar VM dimulai lebih cepat, koneksi disk harus tetap aktif saat VM dimatikan sehingga koneksi disk tidak diinisialisasi ulang pada saat VM dimulai berikutnya. Untuk melakukannya, saat Anda menjalankan perintah untuk mengaktifkan fitur tetap aktif koneksi disk, sistem akan otomatis membuat pod dummy yang memasang semua disk VM.

Mengaktifkan tetap aktif koneksi disk

Untuk menjaga koneksi disk tetap aktif untuk VM bernama VM_NAME di project PROJECT, jalankan perintah berikut. Saat Anda melakukannya, sistem akan otomatis membuat pod dummy:

kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
metadata:
  annotations:
    disk.virtualmachine.gdc.goog/enable-connection-keep-alive: "true"
'

Ganti variabel di seluruh petunjuk ini, menggunakan definisi berikut.

VariabelDefinisi
MANAGEMENT_API_SERVER File kubeconfig server Management API.
VM_NAME Nama VM.
PROJECT Project GDC tempat VM berada.

Jika keep-alive koneksi disk diaktifkan, pod bernama disk-connection-keep-alive-VM_NAME akan dibuat di project yang sama dengan VM. Mulai ulang VM berikutnya lebih cepat, begitu juga waktu mulai berikutnya, karena koneksi disk VM tetap aktif oleh pod.

Menyiapkan afinitas tetap aktif koneksi disk

Penjadwal Kubernetes dapat memilih node yang berbeda untuk VM saat dimulai ulang. Untuk mengurangi kemungkinan hal itu terjadi, konfigurasikan aturan afinitas antar-VM antara VM dan pod keep-alive. Konfigurasi agar hal ini terjadi secara otomatis:

kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
metadata:
  annotations:
    disk.virtualmachine.gdc.goog/add-connection-keep-alive-affinity: "true"
'

Tindakan ini menambahkan setelan afinitas pilihan pada VM ke pod tetap aktif.

Peringatan

Ada dua peringatan yang harus diperhatikan untuk menjaga koneksi disk tetap aktif:

  • Pod keep-alive menimbulkan penggunaan resource tambahan:
    • Hal ini dihitung dalam batas jumlah pod per node.
    • Load balancer ini menggunakan alamat IP tambahan yang ditetapkan oleh Kubernetes.
    • Menggunakan jumlah CPU dan memori tambahan yang dapat diabaikan.
  • Permukaan keamanan meningkat, karena node tempat pod tetap aktif berada selalu memiliki disk VM yang terpasang, bahkan saat VM dimatikan.

Menggunakan firmware BIOS

Di GDC, memulai VM dengan firmware Unified Extensible Firmware Interface (UEFI) lebih lambat daripada memulai VM dengan firmware BIOS.

  1. Untuk memastikan waktu mulai minimal, setel jenis firmware VM ke BIOS:

    kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
    spec:
      firmware:
        type: bios
        enableSecureBoot:
    '
    
  2. Jika VM sedang berjalan, mulai ulang menggunakan petunjuk untuk memulai ulang VM.

Peringatan

Kelemahan menggunakan firmware BIOS adalah tidak mendukung boot aman.

Menggunakan boot disk besar

Untuk meminimalkan waktu mulai VM, pasang boot disk dengan ukuran 500 GB atau lebih besar ke VM.