Membuat boot disk yang disesuaikan

Dokumen ini menjelaskan langkah-langkah untuk membuat boot disk kustom untuk virtual machine (VM) di Google Distributed Cloud (GDC) yang terisolasi.

Saat Anda membuat instance VM, Distributed Cloud akan otomatis membuat persistent disk booting dengan konfigurasi default konfigurasi. Anda juga harus membuat boot disk untuk VM. Anda dapat menggunakan image publik atau image kustom.

Jika Anda memerlukan disk penyimpanan data tambahan untuk instance, tambahkan persistent disk ke VM.

Dokumen ini ditujukan untuk developer dalam grup administrator platform atau operator aplikasi yang membuat boot disk kustom untuk VM. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC yang terisolasi.

Sebelum memulai

Untuk menggunakan perintah antarmuka command line (CLI) gdcloud, pastikan Anda telah mendownload, menginstal, dan mengonfigurasi gdcloud CLI. Semua perintah untuk Distributed Cloud menggunakan gdcloud atau kubectl CLI, 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 mengganti MANAGEMENT_API_SERVER dalam petunjuk ini.

Meminta peran IAM

Hubungi Admin IAM Project Anda untuk meminta peran berikut di project Anda:

  • Virtual Machine Project Admin (project-vm-admin): membuat, mengubah, mencantumkan, dan menghapus VM standar dan berperforma tinggi di namespace project.

  • Project Viewer(project-viewer): melihat semua resource dalam namespace project.

Semua peran VM harus terikat ke namespace project tempat VM berada. Ikuti langkah-langkah untuk memverifikasi akses Anda.

Membuat boot disk

Gunakan prosedur yang dijelaskan di halaman ini untuk membuat boot disk yang dapat Anda gunakan nanti untuk membuat VM.

Membuat boot disk dari image

Anda dapat membuat persistent disk booting mandiri di luar pembuatan instance dan menambahkannya ke instance setelahnya. Bagian ini menunjukkan cara membuat boot disk dari image OS yang disediakan GDC atau image OS kustom.

Membuat boot disk dari image yang disediakan GDC

Sebelum membuat boot disk menggunakan image yang disediakan GDC, tinjau daftar image yang tersedia. Kemudian, buat boot disk dengan image yang disediakan.

gdcloud

  1. Cantumkan semua image yang tersedia dan ukuran disk minimumnya:

    gdcloud compute images list
    

    Perintah ini mencakup image yang disediakan Distributed Cloud dan image kustom. Pilih salah satu di namespace vm-system.

  2. Pilih image yang disediakan Distributed Cloud untuk membuat disk VM:

    gdcloud compute disks create BOOT_DISK_NAME \
      --project=PROJECT \
      --size=DISK_SIZE \
      --image=IMAGE_NAME \
      --image-project=vm-system
    

    Ganti variabel menggunakan definisi berikut:

    VariabelDefinisi
    BOOT_DISK_NAME Nama boot disk.
    PROJECT Project GDC tempat membuat boot disk.
    DISK_SIZE Ukuran boot disk, harus minimal minimumDiskSize image.
    IMAGE_NAME Nama image.

kubectl

  1. Cantumkan semua image yang disediakan GDC yang tersedia:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog
    
  2. Dapatkan minimumDiskSize dari image yang disediakan GDC tertentu. Ukuran boot disk kustom yang dibuat harus minimal minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Buat objek VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: vm-system
      size: DISK_SIZE
    EOF
    

    Ganti variabel menggunakan definisi berikut,

    VariabelDefinisi
    MANAGEMENT_API_SERVER File kubeconfig server Management API.
    IMAGE_NAME Nama image.
    PROJECT Project GDC tempat membuat boot disk.
    BOOT_DISK_NAME Nama boot disk.
    DISK_SIZE Ukuran boot disk, harus minimal minimumDiskSize image.

Membuat boot disk dari image kustom

Image kustom hanya berada di dalam project Anda. Untuk membuat VM dengan image kustom, Anda harus membuat image kustom terlebih dahulu di project yang sama, jika belum membuatnya.

Siapkan peran IAM yang diperlukan untuk mengakses image kustom di project Anda jika belum melakukannya. Kemudian, lanjutkan dengan petunjuk ini.

gdcloud

  1. Cantumkan semua image kustom dan ukuran disk minimumnya:

    gdcloud compute images list \
      --project=PROJECT \
    
  2. Pilih image kustom untuk membuat disk VM:

    gdcloud compute disks create BOOT_DISK_NAME \
      --project=PROJECT \
      --size=DISK_SIZE \
      --image=IMAGE_NAME \
      --image-project=PROJECT
    

    Ganti variabel menggunakan definisi berikut:

    VariabelDefinisi
    BOOT_DISK_NAME Nama boot disk.
    PROJECT Project GDC tempat membuat boot disk.
    DISK_SIZE Ukuran boot disk, harus minimal minimumDiskSize image.
    IMAGE_NAME Nama image.

API

  1. Cantumkan semua image kustom:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimages.virtualmachine.gdc.goog
    
  2. Dapatkan minimumDiskSize dari image kustom tertentu. Ukuran boot disk kustom yang dibuat harus minimal minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Buat objek VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: PROJECT
      size: DISK_SIZE
    EOF
    

    Ganti variabel menggunakan definisi berikut:

    VariabelDefinisi
    MANAGEMENT_API_SERVER File kubeconfig server Management API.
    IMAGE_NAME Nama image yang dipilih dari perintah cantumkan semua image kustom.
    PROJECT Project GDC tempat membuat boot disk.
    BOOT_DISK_NAME Nama boot disk.
    DISK_SIZE Ukuran boot disk, harus minimal minimumDiskSize image.

Apa langkah selanjutnya?